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

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.
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 ExplicitPublic Function Avg() As DoubleAvg = 0/1End 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

Aviso: este artigo foi traduzido automaticamente

Proprietăți

ID articol: 329658 - Ultima examinare: 12/30/2006 09:26:36 - Revizie: 1.3

Microsoft .NET Framework 1.0 Service Pack 2, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0

  • kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMtpt
Feedback