CORRECÇÃO: Recebe uma mensagem de erro "System.OverFlowException" ao chamar um método de um componente de modelo de objeto (COM) DLL de um programa translation from VPE for Csharp Visual .NET ou um programa do Visual Basic .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 329658 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Você receberá a seguinte mensagem de erro:
Ocorreu uma exceção sem tratamento do tipo 'System.OverflowException' em client.exe
Obter informações adicionais: estouro
Esse problema pode ocorrer quando as seguintes condições forem verdadeiras:
  • Você chamar um método que é definido em um Microsoft Component Object (Model) DLL de um programa do Microsoft Visual translation from VPE for Csharp .NET ou um programa do Microsoft Visual Basic .NET.
  • No código do aplicativo, o método é localizado após a função System.Math.asin . A função System.Math.asin retorna not a Number (NaN) .

Causa

Esse problema ocorre porque o novo common language runtime e a alça de DLL do Microsoft Visual Basic 6.0 ou Microsoft Visual C++ DLL a flutuante ponto variáveis inconsistentemente.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para a Microsoft. .NET Framework 1.0. Para baixar o service pack mais recente, visite a seguinte site da Microsoft Developer Network (MSDN):
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Microsoft .NET Framework 1.0 Service Pack 3.

Mais Informações

Etapas para reproduzir o comportamento

Criar uma DLL de COM no Visual Basic 6.0

  1. Inicie o Visual Basic 6.0.
  2. Na caixa de diálogo New Project , na guia nova , clique em DLL ActiveX e clique em Abrir . Por padrão, um arquivo de módulo de classe que é denominado Class1 aparece.
  3. Adicione o seguinte código ao arquivo de módulo de classe Class1:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. No menu arquivo , clique em tornar Project1.dll . A caixa de diálogo Criar Project aparece.
  5. Localizar uma pasta para salvar Project1.dll arquivo e clique em OK para salvar o arquivo.

Criar um aplicativo cliente

  1. Inicie o Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project . A caixa de diálogo New Project é exibida.
  3. Clique em projetos do Visual translation from VPE for Csharp em Tipos de projeto e, em seguida, clique em Aplicativo de console em modelos .
  4. Na caixa nome , digite cliente e, em seguida, clique em OK . Por padrão, um arquivo que é chamado de Class1.cs é criado.
  5. Substitua o código existente com o código a seguir:
    using System;
    using Project1;
    using System.Diagnostics;
    
    namespace Client
    {	
    	class Class1
    	{		
    		[STAThread]
    		static void Main(string[] args)
    		{
    			
    			Class1Class T = new Class1Class();
    			Console.WriteLine(T.Avg()) ;
    
    			double D = Math.Asin(2); 
    			Console.WriteLine(T.Avg());    			
    		}		
    	}
    }
  6. No menu Project , clique em Adicionar referência . A caixa de diálogo Add Reference é exibida.
  7. Clique em Procurar . A caixa de diálogo Select Component é exibida.
  8. Localize o arquivo Project1.dll que você criou na seção "Criar uma DLL COM", clique em Project1.dll e, em seguida, clique em Abrir .
  9. Na caixa de diálogo Add Reference , clique em OK para adicionar a DLL a seu projeto cliente.

Criar e executar o projeto

  1. No menu Build , clique em Build Solution .
  2. Pressione CTRL+F5 para executar o aplicativo sem um depurador. A caixa de diálogo Depuração Just-in-time é exibida.
  3. Clique em Sim . A caixa de diálogo Attach to Process será exibida.
  4. Clique em OK .

    Você pode observar o comportamento mencionado na seção "Sintomas".
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Referências

Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
817248Como chamar um conjunto de Visual Basic .NET do Visual Basic 6.0 e chamar um componente COM Visual Basic do Visual Basic .NET
315847Como usar os componentes ActiveX no Visual Studio .NET com o Visual Basic .NET

Propriedades

ID do artigo: 329658 - Última revisão: sábado, 30 de dezembro de 2006 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 329658
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com