REVISIÓN: Recibe un mensaje de error "System.OverFlowException" cuando llama a un método de un componente objeto COM DLL desde un programa de Visual C# .NET o un programa de Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 329658 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Es posible que reciba un mensaje de error parecido al siguiente:
Error de excepción no controlada del tipo 'tipo ' System.OverflowException en client.exe
Obtener información adicional: desbordamiento
Este problema puede ocurrir cuando se cumplen las condiciones siguientes:
  • Se llama a un método que se define en un Microsoft modelo de objetos componentes (COM) DLL desde un programa de Microsoft Visual C# .NET o un programa de Microsoft Visual Basic. NET.
  • En el código de aplicación, el método se encuentra después de la función System.Math.Asin . La función System.Math.Asin devuelve no es un número (NaN) .

Causa

Este problema se produce porque nuevo common language runtime y el identificador de archivo DLL de Microsoft Visual Basic 6.0 o DLL de Microsoft Visual C++ el flotante punto variables de forma incoherente.

Solución

Para resolver este problema, obtenga el service pack más reciente para Microsoft. .NET Framework 1.0. Para descargar el service pack más reciente, visite el siguiente sitio Web de Developer Network (MSDN):
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:". Este problema se corrigió por primera vez en Microsoft .NET Framework 1.0 Service Pack 3.

Más información

Pasos para reproducir el comportamiento

Crear una DLL COM en Visual Basic 6.0

  1. Inicie Visual Basic 6.0.
  2. En el cuadro de diálogo Nuevo proyecto , en la ficha nuevo , haga clic en DLL ActiveX y, a continuación, haga clic en Abrir . De forma predeterminada, aparece un archivo de módulo de clase que se denomina Class1.
  3. Agregue el código siguiente al archivo de módulo de clase Class1:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. En el menú archivo , haga clic en crear Project1.dll . Aparecerá el el cuadro de diálogo Crear proyecto .
  5. Busque una carpeta para guardar el Project1.dll archivo y, a continuación, haga clic en Aceptar para guardar el archivo.

Crear una aplicación cliente

  1. Inicie Visual Studio NET..
  2. En el menú archivo , seleccione nuevo y, a continuación, haga clic en proyecto . Aparecerá el cuadro de diálogo nuevo proyecto .
  3. Haga clic en Proyectos de Visual C# en Tipos de proyecto y, a continuación, haga clic en Aplicación de consola , bajo plantillas .
  4. En el cuadro nombre , escriba clientes y a continuación, haga clic en Aceptar . De forma predeterminada, se crea un archivo que se denomina Class1.cs.
  5. Reemplace el código existente con el código siguiente:
    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. En el menú proyecto , haga clic en Agregar referencia . Aparecerá el cuadro de diálogo Agregar referencia .
  7. Haga clic en Examinar . Aparecerá el cuadro de diálogo Seleccionar componentes .
  8. Busque el archivo Project1.dll que creó en la sección "Crear una DLL de COM", haga clic en Project1.dll y a continuación, haga clic en Abrir .
  9. En el cuadro de diálogo Agregar referencia , haga clic en Aceptar para agregar el archivo DLL al proyecto cliente.

Genere y ejecute el proyecto

  1. En el menú Generar , haga clic en Generar soluciones .
  2. Presione CTRL + F5 para ejecutar la aplicación sin un depurador. Aparecerá el cuadro de diálogo Depuración Just-In-Time .
  3. Haga clic en . Aparecerá el cuadro de diálogo asociar al proceso .
  4. Haga clic en Aceptar .

    Puede observar el comportamiento que se menciona en la sección "Síntomas".
Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Referencias

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
817248Cómo llamar a un ensamblado de Visual Basic .NET desde Visual Basic 6.0 y llamar a un componente COM de Visual Basic desde Visual Basic .NET
315847Cómo utilizar componentes ActiveX en Visual Studio .NET con Visual Basic .NET

Propiedades

Id. de artículo: 329658 - Última revisión: sábado, 30 de diciembre de 2006 - Versión: 1.3
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Palabras clave: 
kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 329658
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

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