- 締切済み
VBのsstab(MicroSoft Tabbed Dialog Control(SP6))について
VB6.0(SP6)で開発を行っております。 タブを使用している画面をロードする時に何らかのエラーが起きた場合、エラーメッセージを表示させてシステムをendで終了させたいのですが、エラーメッセージがでた後に画面がフリーズして残ってしまいます。vbpで実行すると正常にシステムを終了するのですが、exeを作って実行するとフリーズするという現象が起こります。 画面は残るのですがボタン等を押しても何も起こりません。フリーズの現象がでるのは、 1.フォームロード中にエラーが起きた場合 2.タブ上にラベルやテキストのオブジェクトがある場合 (タブ上に何もないときは正常に終了します) です。どうしたら正常に終了させられるか何かご存知の方いらっしゃいましたらアドバイスお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mach999
- ベストアンサー率75% (36/48)
回答No.1
フリーズ現象は再現できませんでしたが、確かにForm_Load内のエラー処理部でEndを実行してもフォームが表示されてしまうようですね。 EndをUnload Meにしたところexeファイルの方でも正常に終了しましたので試してみてください。 ちなみに、どんなエラーがフォームロード中に起き得るのかが分からないと判断が難しいので、明記しておいた方が良いと思いますよ。
お礼
回答ありがとうございました。 説明不足の点があったようですね。ご指摘ありがとうございます。 起こりえるエラーとは 1.DB接続の失敗(切断されていた等) 2.数字の項目にNULLが入っていた場合任意で不正なデータとしてメッセージを出して終了させています。 の2点です。 早速Unload Meも試したのですがフォームモジュールに記述する分には良かったのですが、データを読み込んだりする記述をクラス側(他の画面からも使用する)に書いているので、そうすると問題がありそうです。 Loadの記述をオブジェクトがアクティブ ウィンドウになったときに発生するActivateに記述してみたところ正常に画面を閉じて終了することができました。 たどたどしい説明ではありましたが、ご回答いただけてとても感謝しております。 ありがとうございました。