Application.ProcessMessagesコマンドはよく知られており、長いプロセスで使用してプログラムがコンピュータを拘束しないようにします。DelphiでProcessMessagesを防止する方法
しかし、私はファイルのビューをバッファリングしているかなり簡単な処理セットを持っています。バッファリング手順の間に、いくつかのシステムメッセージが送信される(例えば、再描画またはスクロールバー移動または他のイベント)。バッファリングが完了するまでProcessMessagesで処理されないようにしたい。
は、いずれかの方法はあります:
防止Application.ProcessMessages私の手続きが完了するまで、またはすべての私の手続きの際に生成されたメッセージ、およびないが、年末までにそれらを解放
トラップです手順。
あなたの質問を読み直す、私は実際にそれを理解していない - クイック実行の手順を持っていて、この中には全く 'Application.ProcessMessages'を呼び出すなぜ' Application.ProcessMessages'は、任意の歓迎されないメッセージを処理しない場合手順? – mghie
mghie:明示的に呼び出すのではありませんが、メッセージが処理された場合に実行されるいくつかのイベントをキューに追加します(スクロールバーの位置など)。あなたのプロシージャ内であれば、あなたが明示的に何も**イベントが処理されません。** 'Application.ProcessMessages'呼び出さない限り:私は保留中のイベントが – lkessler
を実行していないしかし、それがポイントだ得ることを、単にこのコードの間に確保する必要があります。それらはキューに追加され、後で処理されますが、それだけです。あなたが望んでいない限り、メッセージはどのように処理されますか? – mghie