我写了一个程序,执行以下操作......
我遇到的问题是,将文件复制到网络位置的时间取决于图像的数量和大小,因此......
有没有办法让Delphi等文件操作程序完成?
我尝试了一个等待布尔值更改的while循环(当在网络上找到要复制的最后一个文件时更改)但挂起应用程序(即使使用application.processMessage)并且dirMonitor组件未能添加下一个子TList的文件夹.
任何建议都将非常感激.
提前致谢.
谢谢你的回复......
我看了一下看起来很理想的OmniThread ......虽然我只能访问Delphi 7,所以不用了.
我遇到的问题是文件夹由于大小和网络流量等原因而需要不同的时间进行传输...当一个包含大量图像的文件夹后跟一个只有少量图像的文件夹时,两者中较小的一个首先到达网络目的地.网络设备是第三方打印后台处理程序,因此打印件的顺序错误.
简化代码:
procedure TForm1.programTimerTimer(Sender: TObject);
begin
if (fileOperationInProgress = false) AND (programPaused = false) then
begin
processOrderQueue;
end;
end;
procedure TForm1.processOrderQueue;
begin
// gets folder paths from queue
// processes images
// copy to print spooler (network location)
copyFolder(fromPath, toPath);
// remove temp files
end;
procedure TForm1.copyFolder(copyFrom : String; copyTo : String);
var
fos : TSHFileOpStruct;
begin
fileOperationInProgress := True;
ZeroMemory(@fos, SizeOf(fos));
with fos …Run Code Online (Sandbox Code Playgroud) delphi ×1