[FIX] Visual C# .NET プログラム、または Visual Basic .NET プログラムから、メソッドのコンポーネント オブジェクト モデル (COM) DLL を呼び出すと、"System.OverFlowException"エラー メッセージが表示されます。

文書翻訳 文書翻訳
文書番号: 329658 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

次のエラー メッセージが表示されます:
型 'System.OverflowException' の未処理の例外が client.exe で発生しました
追加情報: オーバーフロー
この問題は、次の条件に該当する場合に発生する可能性があります。
  • Microsoft コンポーネント オブジェクト モデル (COM) DLL、Microsoft Visual C# .NET プログラムや、Microsoft Visual Basic .NET のプログラムから定義されているメソッドを呼び出します。
  • アプリケーション コードで、メソッドは、 System.Math.Asin 関数の後にあります。 System.Math.Asin 関数 が数 (NaN) を返します。

原因

この問題は、新しい共通言語ランタイムと、Microsoft Visual Basic 6. 0 の DLL または Microsoft Visual の C++ DLL のハンドルが、浮動変数のポイントが故障ために発生します。

解決方法

この問題を解決するには、Microsoft の最新のサービス パックの入手します。 NET Framework 1. 0 です。 最新版の Service Pack をダウンロードするには、参照次マイクロソフト開発者向けネットワーク (MSDN) してください。
http://www.microsoft.com/downloads/details.aspx?familyid=6978D761-4A92-4106-A9BC-83E78D4ABC5B&displaylang=en

状況

マイクロソフトとして認識していますこの問題を記載されているいるマイクロソフト製品の問題。 マイクロソフトでこの問題が最初に修正 .NET Framework 1. 0 Service Pack 3。

詳細

動作を再現する手順

Visual Basic 6. 0 で COM DLL を作成します。

  1. Visual Basic 6. 0 を起動します。
  2. [ 新しいプロジェクト ] ダイアログ ボックスで、[ 新規作成 ] タブで、 ActiveX DLL ] をクリックし、 ファイルを開く 。 既定では、クラス モジュール ファイルはクラス 1 という名前が表示されます。
  3. Class1 クラス モジュール ファイルに次のコードを追加:
    Option Explicit
    Public Function Avg() As Double
    Avg = 0/1
    End Function
  4. [ ファイル ] メニューのをクリック する Project1.dll 。 [ プロジェクトの作成 ] ダイアログ ボックスが表示されます。
  5. Project1.dll を保存するフォルダーを指定ファイルをファイルを保存する [OK] をクリックします。

クライアント アプリケーションを作成します。

  1. Visual Studio .NET を起動します。
  2. [ ファイル ] メニューの [ 新規作成 ] をポイントし、[ プロジェクト ] をクリックします。 [新しいプロジェクト ] ダイアログ ボックスが表示されます。
  3. [ テンプレート ] ボックスの一覧の [ コンソール アプリケーション を [ プロジェクトの種類 ] で [ Visual C# プロジェクト をクリックします。
  4. [] ボックスで、 クライアント の入力を [OK] をクリックします。 既定では、Class1.cs というファイルが作成します。
  5. 既存のコードを次のコードで置き換えます:
    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. ダイアログ ボックスで [ プロジェクト ] をクリックして 追加参照 。 [ 参照の追加 ] ダイアログ ボックスが表示されます。
  7. [ 参照 ] をクリックします。 [ 選択コンポーネント ] ダイアログ ボックスが表示されます。
  8. "COM DLL を作成するには"セクションで作成した Project1.dll ファイルを探し、 Project1.dll をクリックし、[ ファイルを開く </a0> をクリックします。
  9. [ 参照の追加 ] ダイアログ] の [DLL プロジェクトを追加する、クライアントは、 [OK] にします。

ビルドして、プロジェクトを実行

  1. ダイアログ ボックスで [ ビルド ] をクリックして ビルド ソリューション
  2. Ctrl キーを押しながら F5 アプリケーションせず、デバッガーを実行するキーを押してください。 [ Just-In-Time デバッグ </a0>] ダイアログ ボックスが表示されます。
  3. [はい] をクリックします。 [ プロセスにアタッチ ] ダイアログ ボックスが表示されます。
  4. [ OK] をクリックします。

    可能性があります現象は、「現象」に記載されていますいます。
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
824684マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明

関連情報

詳細については、クリック、次資料、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示: して
817248Visual Basic 6. 0 から、Visual Basic .NET アセンブリを呼び出すし、Visual Basic COM コンポーネントを Visual Basic .NET から呼び出す方法
315847Visual Basic .NET で Visual Studio .NET での ActiveX コンポーネントを使用する方法

プロパティ

文書番号: 329658 - 最終更新日: 2006年12月30日 - リビジョン: 1.3
この資料は以下の製品について記述したものです。
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
キーワード:?
kbbug kbfix kbconsole kbqfe kbprb kbclient kbnetframe100presp3fix kbcominterop kbfunctions kbmt KB329658 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:329658
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

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