FIX: La ╚ visualizzato un messaggio di errore "System.OverFlowException", quando si chiama un metodo di una DLL COM (Component Object Model) da un programma Visual C# .NET o Visual Basic .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 329658 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

╚ possibile che venga visualizzato un messaggio di errore analogo al seguente:
Eccezione non gestita di tipo "System.OverflowException" nel file client.exe
Ulteriori informazioni: overflow
Questo problema pu˛ verificarsi quando le seguenti condizioni sono vere:
  • Si chiama un metodo che Ŕ definito in un Microsoft modello COM (Component Object) DLL da un programma di Microsoft Visual C# .NET o da un programma di Microsoft Visual Basic. NET.
  • Nel codice dell'applicazione, il metodo Ŕ disponibile dopo la funzione System.Math.Asin . La funzione di System.Math.Asin restituisce non Ŕ un numero (NaN) .

Cause

Questo problema si verifica perchÚ il nuovo common language runtime e l'handle di DLL di Microsoft Visual Basic 6.0 o DLL di Microsoft Visual c ++ il Mobile punto variabili modo incoerente.

Risoluzione

Per risolvere il problema, ottenere il service pack pi¨ recente per Microsoft. NET Framework 1.0. Per scaricare la versione pi¨ recente del service pack, il seguente sito MSDN (informazioni in lingua inglese) Web:
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a". Questo problema Ŕ stato prima corretto per volta in Microsoft .NET Framework 1.0 Service Pack 3.

Informazioni

Procedura per riprodurre il problema.

Creare una DLL COM in Visual Basic 6.0

  1. Avviare Visual Basic 6.0.
  2. Nella finestra di dialogo Nuovo progetto , nella scheda Nuovo , fare clic su ActiveX DLL e quindi fare clic su Apri . Per impostazione predefinita, un file di modulo di classe denominato Class1 viene visualizzato.
  3. Aggiungere il codice riportato di seguito al file di modulo di classe Class1:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. Nel menu file , fare clic su Crea Project1.dll . VerrÓ visualizzata la finestra di dialogo Crea progetto .
  5. Individuare una cartella per salvare il Project1.dll file e quindi fare clic su OK per salvare il file.

Creare un'applicazione client

  1. Avviare Visual Studio NET..
  2. Scegliere Nuovo dal menu file , quindi progetto . VerrÓ visualizzata la finestra di dialogo Nuovo progetto .
  3. Fare clic su Progetti di Visual C# in Tipi progetto e quindi fare clic su Applicazione Console in modelli .
  4. Nella casella nome digitare client e quindi fare clic su OK . Per impostazione predefinita, viene creato un file denominato Class1.cs.
  5. Sostituire il codice esistente con il codice riportato di seguito:
    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. Scegliere dal menu progetto , Aggiungi riferimento . VerrÓ visualizzata la finestra di dialogo Aggiungi riferimento .
  7. Fare clic su Sfoglia . VerrÓ visualizzata la finestra di dialogo Seleziona componenti .
  8. Individuare il file di Project1.dll Ŕ creato nella sezione "Creare una DLL COM", fare clic su Project1.dll e quindi fare clic su Apri .
  9. Nella finestra di dialogo Aggiungi riferimento , fare clic su OK per aggiungere della DLL per il progetto client.

Generare ed eseguire quindi il progetto

  1. Scegliere dal menu Genera , Genera soluzione .
  2. Premere CTRL+F5 per eseguire l'applicazione senza un debugger. VerrÓ visualizzata la finestra di dialogo Debug JIT .
  3. Fare clic su . VerrÓ visualizzata la finestra di dialogo Connetti a processo .
  4. Fare clic su OK .

    ╚ possibile notare il problema menzionato nella sezione "Sintomi".
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Riferimenti

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
817248Come chiamare un assembly di Visual Basic .NET da Visual Basic 6.0 e chiamare un componente COM Visual Basic da Visual Basic .NET
315847L'utilizzo di componenti ActiveX in Visual Studio .NET con Visual Basic .NET

ProprietÓ

Identificativo articolo: 329658 - Ultima modifica: sabato 30 dicembre 2006 - Revisione: 1.3
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Chiavi:á
kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 329658
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Dichiarazione di non responsabilitÓ per articoli della Microsoft Knowledge Base su prodotti non pi¨ supportati
Questo articolo Ŕ stato scritto sui prodotti per cui Microsoft non offre pi¨ supporto. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.

Invia suggerimenti

 

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