我似乎無法弄清楚我在做什麼錯了,我有以下代碼上傳文件到FTP,它在一個新的線程,如何可以我告訴它在繼續之前等待上傳完成?FTP上傳使用新線程和等待上傳完成
procedure TFTPThread.Execute;
begin
FTPClient.Host:=FTPAddress;
FTPClient.Username:=FTPUsername;
FTPClient.Password:=FTPPassword;
FTPClient.Connect;
FTPClient.Put(ZipFileName,'Logs.zip');
FTPClient.Quit;
FTPClient.Disconnect;
end;
我發現這個網上,但我不知道我做錯了什麼:
E2233住宅「把手」在這裏不能存取
while WaitForSingleObject(TFTPThread.Handle, 0) = WAIT_TIMEOUT do
Application.ProcessMessages;
如果你想等待,爲什麼你使用一個線程?您應該使用處理線程的事件驅動解決方案 – 2014-10-17 18:31:11
您不會顯示您持有對該線程的引用的位置。如果你有一個你寫的Thread.WaitFor。正如Rufo爵士所說,你爲什麼使用線程然後進行同步。如果你真的想處理消息,並等待在非忙循環中正確執行。那將是MsgWaitForMultipleObjects。但事件驅動更好。處理終止。 – 2014-10-17 18:38:25