我似乎无法弄清楚我在做什么错了,我有以下代码上传文件到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