掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
チェックボックスについて (ID:118207)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちょっとした推理物ですね。 処理させているのは、印刷とかEXCELへの出力処理ですか。 これらの処理に忙しくて、Windowsはチェックボックスのチェックを 入れる等の時間のかかるメッセージをVBの方にまわす事が出来ず、 キューを溜め込み、印刷やEXCELへの出力処理が終わった時に、 ようやくchk_box_Click処理を行う、しかしその時は 実際にチェックボックスにチェックを書き込むGUIの処理より 軽い、chk_box_Click内の印刷などの後処理のflgを戻す処理を 先に済ませてしまうので、flgはFalseにリセットされて、 次のチェックの処理をしてしまう。 ブレークをかけると、現在のスレッドは止まってしまうが、 印刷やEXCELの出力は非同期に終了して、ブレークを解除した時は スレッドの処理はflg=Trueの中から始まるので、次の処理には落ちない。 こんなことが起こっているのかな。 次の関数をchk_box_Clickのおしまいにいれて、少し時間を稼いだら どうだろうか。 Private Declare Function timeGetTime Lib "winmm.dll" () As Long Dim t As Long t = timeGetTime Do DoEvents Loop While (timeGetTime - t < 20)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.