我需要知道是否使用允許我使用整個應用程序的ProcessMessages是合法的。ProcessMessages和應用程序的使用
僞代碼:
主線程調用按鈕 - 搜索。
procedure ButtonOnClick;
begin
var1 = ExecuteSearch();
end;
function ExecuteSearch:Something;
begin
thread.StartThread;
while thread.Finished do
Application.ProcessMessages;
result := something;
end;
當我使用這個結構我可以點擊我的軟件的其他部分,並使用它。但我不知道這是如何工作的。如果它的安全。
這是純粹的安全。你只需要確保線程不會卡住。因爲如果是這樣,主程序會運行,但是你將無法終止程序 – 2012-04-26 13:39:55
'while thread.Finished'? – 2012-04-26 15:11:08
不要在GUI事件處理程序中等待。 – 2012-04-27 21:28:33