Oprava: Obdržíte chybovou zprávu "System.OverFlowException" při volání metody z komponent modelu COM) DLL z programu Visual C# .NET nebo Visual Basic .NET program

Překlady článku Překlady článku
ID článku: 329658 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Může se zobrazit následující chybová zpráva:
V client.exe došlo k neošetřené výjimce typu 'System.OverflowException
Další informace: přetečení
K těmto potížím může dojít, jsou-li splněny následující podmínky:
  • Volání metody, která je definována v Microsoft Component Object Model (COM) DLL z programu Microsoft Visual C# .NET nebo program Microsoft Visual Basic .NET.
  • V kódu aplikace je metoda umístěn po funkci System.Math.asin. Vrátí funkce System.Math.asinnení číslo (NaN).

Příčina

K tomuto problému dochází, protože nové společného jazykového modulu runtime a Microsoft Visual Basic 6.0 DLL nebo Microsoft Visual C++ DLL úchyt plovoucí přejděte proměnné nekonzistentně.

Řešení

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft. NET Framework 1.0. Stáhnout nejnovější aktualizace service pack, navštivte následující web společnosti Microsoft Developer Network (MSDN):
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt. Tento problém byl poprvé opraven v aplikaci Microsoft .NET Framework 1.0 Service Pack 3.

Další informace

Kroky pro reprodukci tohoto chování

Vytvořit COM DLL Visual Basic 6.0

  1. Spusťte aplikaci Visual Basic 6.0.
  2. V dialogovém okně Nový projekt na nové kartě ActiveX DLL klepněte a potom klepněte na tlačítko Otevřít. Ve výchozím nastavení se zobrazí soubor modulu třídy s názvem Class1.
  3. Soubor modulu třídy Class1 přidejte následující kód:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. V nabídce soubor klepněte na tlačítko vytvořit Project1.dll. Zobrazí se dialogové okno Vytvořit projekt.
  5. Vyhledejte složku uložit Project1.dll souboru a klepněte na tlačítko OK uložte soubor.

Vytvoření aplikace klient

  1. Spusťte aplikaci Visual Studio .NET.
  2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt. Zobrazí se dialogové okno Nový projekt.
  3. Klepněte v části Typy projektuVisual C# projekty a klepněte v části šablonyAplikace konzoly.
  4. V poli název zadejte klienta a potom klepněte na tlačítko OK. Ve výchozím nastavení je vytvořen soubor s názvem Class1.cs.
  5. Nahradit existující kód následující kód:
    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. V nabídce projekt klepněte Přidat Reference. Zobrazí se dialogové okno Přidat odkaz.
  7. Klepněte na tlačítko Procházet. Zobrazí se dialogové okno Vybrat součásti.
  8. Vyhledejte Project1.dll soubor, který jste vytvořili v části "Vytvoření COM DLL" Project1.dll klepněte a potom klepněte na tlačítko Otevřít.
  9. V dialogovém okně Přidat odkaz klepněte na tlačítko OK přidat DLL klienta projektu.

Sestavit a spustit projektu

  1. V nabídce vytvořit klepněte na příkaz Sestavit řešení.
  2. Stiskněte klávesy CTRL + F5 spustit aplikaci bez ladicí program. Zobrazí se dialogové okno Ladění JIT.
  3. Klepněte na tlačítko Ano. Zobrazí se dialogové okno připojit k procesu.
  4. Klepněte na tlačítko OK.

    Chování je uvedena v "příznaky" všimnout.
Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
824684Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Odkazy

Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
817248Jak volání sestavení .NET jazyka Visual Basic 6.0 z a volání součásti jazyka Visual Basic .NET
315847Jak používat komponenty ActiveX v aplikaci Visual Studio .NET Visual Basic .NET

Vlastnosti

ID článku: 329658 - Poslední aktualizace: 30. prosince 2006 - Revize: 1.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Klíčová slova: 
kbmt kbcominterop kbclient kbfunctions kbconsole kbbug kbfix kbqfe kbnetframe100presp3fix kbprb KB329658 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:329658
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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