1.エラー処理実行時の基本的な設定事項 |
1.エラー処理実行時の基本的な設定事項 2.MSDN のエラー情報の掲載場所 3.VB6.0 をWindows 7/Windows 8 上で使用した場合の不具合情報 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.エラー処理実行時の基本的な設定事項 |
コード上のエラー処理を有効にするには、オプションの設定を確認しておいて下さい。 開発時は、エラーが発生した時、エラーが発生した場所で中断するようになっていると、どこでエラーが発生したかが分かるので便利ではあるのですが、On Error Resume Next のようなエラー処理のコードを書いていても、エラーが発生したところで止まってしまうので、On Error Resume Next のコードが有効になりません。 ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。 [エラー発生時に中断] エラーが発生するたびに、プロジェクトが中断モードに入ります。この設定は、エラーハンドラーがアクティブであるかどうかとは、関係がありません。また、エラー ハンドラーのコードがクラスモジュールに記述されているかどうかとも、関係はありません。 [クラスモジュールで中断] 処理されないエラーがクラスモジュールで発生すると、そのエラーを発生させたクラスモジュールの行で、プロジェクトが中断モードに入ります。 ActiveX コンポーネント プロジェクトをデバッグするために、別のプロジェクトで ActiveX クライアントテストプログラムを実行させる場合は、ActiveX コンポーネント プロジェクトでこのオプションを設定し、エラーをクライアントテストプログラムに返さずに、サーバーのクラスモジュールのエラーで中断させるようにします。 [エラー処理対象外のエラーで中断] エラーハンドラーがアクティブな場合は、中断モードに入らず、エラーはトラップされます。アクティブなエラーハンドラーがない場合は、エラーの発生により、プロジェクトが中断モードに入ります。ただし、クラス モジュールで処理されないエラーが発生した場合、プロジェクトは、問題を起こしたクラスのプロシージャを呼び出した行で中断モードに入ります。 [エラー発生時に中断] を使用して、ゼロによる除算で停止することは可能ですが、[エラー発生時に中断] は、ほとんどの場合あまり適切ではありません。エラーのたびに停止し、エラー処理コードが記述されているエラーでも停止するからです。 次の理由から、[クラスモジュールで中断] を設定します。 エラー処理コードが記述されているクラスモジュール コードでは、実行は停止しません クラスモジュールで非処理のエラーでのみ、実行は停止します。したがって、メソッドの呼び出し元に制御が返されます。 Visual Basic の開発環境を起動したとき、[クラスモジュールで中断] が既定になります。 クラスモジュールが関係しない場合、[クラスモジュールで中断] は [エラー発生時に中断] とまったく同じです。 ※[ツール] メニューから [オプション] ダイアログボックスを開き、[全般] タブでエラートラップの設定を変更できます。選択したオプションは、カレント
セッションで有効になるだけでなく、それ以降の Visual Basic のすべてのインスタンスで既定値となります。 |
2.MSDN のエラー情報の掲載場所 |
1.エラーに関する情報は、Vb6.0 付属のヘルプの下記のところに記載があります。 2.エラー番号等が解っていれば、下記のようにエラー番号順に記載されているので探して見て下さい。 3.正確なエラーメッセージをキーワードWEB上で検索すれば、大抵の場合見つかります。 逆に見つからない場合、貴方の独自の環境等に問題がある場合が多いです。 |
3.VB6.0 をWindows 7/Windows 8 上で使用した場合の不具合情報 |
VB6.0 をWindows 7 及び Windows 8 上で使用した場合の不具合報告が散見されるようになってきたので現在、解っている事を下記のサンプル投稿用掲示板の方に掲載しておりますので、なにかありましたら、ご覧下さい。 又、未掲載分のエラー等の情報がありましたら書き込みの程お願いします。 |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |