アプリケーション全体を使用できるProcessMessagesの使用が合法であるかどうかを知る必要があります。ProcessMessagesとアプリケーションの使用
擬似コード:
メインスレッドボタンコール検索。
procedure ButtonOnClick;
begin
var1 = ExecuteSearch();
end;
function ExecuteSearch:Something;
begin
thread.StartThread;
while thread.Finished do
Application.ProcessMessages;
result := something;
end;
私はこのような構成を使用する場合、私は私のソフトウェアの他の部分をクリックして、それを使用することができます。しかし、私はこれがどのように機能するのか分かりません。安全であれば
純粋に安全です。あなたは、スレッドがスタックしないことを確認する必要があります。もしそうなら、メインプログラムは機能するでしょうが、あなたはプログラム –
を終了することができません。while thread.Finished'? –
GUIイベントハンドラで待機しないでください。 –