[VB6] SP5: コンボ ボックスを CoolBar の band 上に設定すると一般保護違反が発生

文書翻訳 文書翻訳
文書番号: 269618 - 対象製品
この記事は、以前は次の ID で公開されていました: JP269618
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
すべて展開する | すべて折りたたむ

目次

現象

Visual Basic アプリケーションに、CoolBar コントロールの band 上に設定されたコンボ ボックス コントロールが含まれている場合、Microsoft Visual Studio 6.0 Service Pack 4 (SP4) より前のバージョンの Visual Basic では正しく動作しますが、SP4 では CoolBar コントロールを含むフォームを閉じたときにアプリケーションが応答を停止 (クラッシュ) する場合があります。このクラッシュは、Windows 98 または Windows 95 上で実行されているシステムでのみ発生します。

原因

この現象は、CoolBar の band 上に設定されたコントロールが正しいタイミングでクリアされないために発生します。

解決方法

Visual Studio(R) 6.0 Service Pack 5 をインストールすることで解決できます。

以下は Service Pack 5 を適用しない場合の解決方法です。

Form_QueryUnload イベント ハンドラに次のコードを追加します。
CoolBarName.Bands.Clear

状況

資料の冒頭に記載している製品の障害として確認しております。
この障害は Visual Studio(R) 6.0 Service Pack 5 にて修正されました。
Visual Studio 6.0 Service Pack の詳細情報は、弊社 Web サイトをご覧ください。

http://www.microsoft.com/japan/developer/vstudio/download/sp/vs6sp.htm

詳細

問題の再現手順

  1. Windows 98 上の Visual Studio 6.0 SP4 から、Visual Basic で標準 EXE プロジェクトを作成します。 デフォルトで、Form1 が追加されます。
  2. [コンポーネント] ダイアログ ボックスで Ctrl + T キーを押し、[Microsoft Windows コモン コントロール - 3 6.0 (Sp4)] を選択して [OK] をクリックします。
  3. Form1 に CoolBar コントロールを追加します。デフォルトの設定を使用します。
  4. CoolBar コントロールのいずれかの band の中に、コンボ ボックス コントロールを追加します。
  5. プロジェクトを保存し、F5 キーを押してアプリケーションを実行します。フォームの右上隅の [閉じる] ボタンをクリックしてフォームを閉じると、次のようなエラー メッセージが表示されます。
    "ファイル名" で一般保護違反が発生しました。発生した場所は モジュール USER.EXE 内の 0004:00000499 番地です。

    このプログラムは不正な処理を行ったため、強制終了されます。終了できない場合は、プログラムの製造元に連絡してください。
    "ファイル名" はプロジェクトの名前です。

  6. Visual Basic 統合開発環境でもう一度このプロジェクトを開きます。Visual Basic が再起動されるときに Windows がクラッシュし、コンピュータの再起動が必要となる場合があります。また、バックグラウンドで実行されているほかのアプリケーションやドライバをシャットダウンするように指示する "リソース不足" のメッセージ ボックスが表示される場合もあります。
  7. 次のコードを Form1 に追加します。
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        CoolBar1.Bands.Clear
    End Sub
    
  8. プロジェクトを保存し、F5 キーを押してアプリケーションを実行します。フォームの右上隅の×印をクリックしてフォームを閉じると、プロジェクトは正常に動作します。

    : Visual Basic IDE で [終了] ボタンをクリックしてアプリケーションを終了した場合には、Form_QueryUnload イベント ハンドラが実行されないため、引き続き問題が発生します。IDE で [終了] ボタンを使用してアプリケーションを終了しないようにしてください。この問題を回避するには、システム ディレクトリの中にある SP4 版の Comct332.ocx を、Visual Studio 6.0 Service Pack 3 のバージョンに置き換えます。同時に、上記の最後の手順で説明した回避策も実行する必要があります。

関連情報

関連情報については、次の文書番号をクリックして Microsoft Knowledge Base を参照してください。
189632 BUG: Error in CoolBar Event Can Cause Hanging or Exception
189914 BUG: Wrapped CoolBar Control May GPF Client EXE Program
257630 FIX: Exception Error Closing an Application Containing a CoolBar Control
257630 [VB6] SP4: CoolBar コントロールを含むアプリケーション終了時の例外エラー
194295 [VS60] Service Pack がインストール済みか確認するには

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 269618 (最終更新日 2000-12-13) をもとに作成したものです。

プロパティ

文書番号: 269618 - 最終更新日: 2014年2月24日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Visual Basic 6.0 Enterprise Edition
キーワード:?
kbnosurvey kbarchive kbbug kbvs600sp5 kbpending vb6 KB269618
"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