DOBON.NET DOBON.NETプログラミング掲示板過去ログ

FormのEnableの切り替え

環境/言語:[Windows2000 SP4、VisualBasic5.0SP3]
分類:[VB6以前]

はじめまして。
どうしても解決できなくて、よろしければお知恵をお貸しください。

やりたいことは、長時間を要する処理実行時に、その処理の間
フォームを使用不可にしなければなりません。(絶対的な仕様)

処理最初にMe.Enabled=FalseやMainForm.Enabled=Falseとしているのですが、
なぜか標準モジュールにあるいろいろなプロシージャ(Module2、Module3を作成)
を呼んでいるうちに、あるタイミングで×ボタンがクリックできてしまいます。
(マウスポインタは処理完了時まで砂時計)

実行中にウォッチウィンドウでフォームのEnableの値を参照("値変更時に中断")
しているのですが、中断されません。
×ボタン以外は入力を受け付けないのですが、×ボタンは、鬼のように連打しまくると
「プログラムの終了」が表示され、終了できてしまいます。
ちなみに、ウォッチウィンドウでは、"すべてのプロシージャ"にして、
対象を、"MainForm"、"Module2"、"Module3"とそれぞれ追加しています。

アプリの仕様変更は無理(客先要望)のため、ただ単にフォームの入力を
受け付けないようにしたいのです。
なにぶん古いので、ネットで情報が拾えませんでした。(なぜいまどきVB5?)

回避方法やMSの制限とか、何か情報をお持ちの方がいらっしゃいましたら、
お教えください。
よろしくお願いいたします。
> を呼んでいるうちに、あるタイミングで×ボタンがクリックできてしまいます。
> (マウスポインタは処理完了時まで砂時計)

仕様です。
あなたの作ったアプリケーションは応答の無いアプリケーションと判断されています。

難易度が高いですが、スレッドを利用したプログラミングなどをして処理中画面表示をする必要があるでしょう。

がんばってください。
  • 題名: Re[2]: FormのEnableの切り替え
  • 著者: さくらぶにゃ
  • 日時: 2005/02/23 13:11:29
  • ID: 9332
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No9314に返信(中博俊さんの記事)
> 仕様です。
> あなたの作ったアプリケーションは応答の無いアプリケーションと判断されています。
こんにちは。
そうですか・・・。
先方に相談して、処理中画面を表示する等仕様変更を検討してみます。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板