- 125 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:46:32 ]
- >>123
VB6はバックグラウンド処理用にスレッドを自由に起動できなかった。 全部の処理はUIスレッドで実行するしかなかった。 だからビジーループ的な処理があると、それを実行している間はUIが 必然的に応答できなくなる。(だってその処理は、プロセス中の唯一のスレッドである UIスレッドで実行しているのだから。) その問題をやり過ごす(根本的解決ではない)ためにDoEventsは使われた。 ビジーループの中でDoEventsを実行してやると、その時点でキューにたまっていた ウィンドウメッセージが全て処理される。つまりユーザー目線では、UIが操作に反応する。 自由にスレッドを起動できるドトネトではわざわざUIスレッドでビジーループを 書く必要がないから、わざわざApplication.DoEventsを使用する理由は普通ないはず。
|

|