Delphi 如何解锁文件并将其删除?

Delphi 如何解锁文件并将其删除?,delphi,delphi-2010,Delphi,Delphi 2010,我有一个将文件上传到ftp服务器的程序。如果上传完成,我将删除文件。偶尔文件不会被删除,因为上传是自动的,所以我得到一个无限循环,其中100份文件到达服务器。如果我尝试从资源管理器手动删除文件,我可以做到,但由于某些原因,我的应用程序中的Deletefile命令不起作用 我试着提出最后一个错误,但我一无所获 这些文件存储在映射的驱动器上。有什么解决办法吗?如果我上传30个文件到ftp服务器,有时一个或两个文件在加载到服务器后无法删除 即使文件是从另一个程序打开的,也有办法关闭它吗?像unlock

我有一个将文件上传到ftp服务器的程序。如果上传完成,我将删除文件。偶尔文件不会被删除,因为上传是自动的,所以我得到一个无限循环,其中100份文件到达服务器。如果我尝试从资源管理器手动删除文件,我可以做到,但由于某些原因,我的应用程序中的Deletefile命令不起作用

我试着提出最后一个错误,但我一无所获

这些文件存储在映射的驱动器上。有什么解决办法吗?如果我上传30个文件到ftp服务器,有时一个或两个文件在加载到服务器后无法删除

即使文件是从另一个程序打开的,也有办法关闭它吗?像unlocker这样的东西

如何查看我的应用程序是否正在锁定文件?我还没有在应用程序中实现任何锁定机制


谢谢。

这表明ftp已完成文件处理,但提供文件的机器上的操作系统尚未完成。在上传和删除之间设置一个延迟。DeleteFile返回true false,是否正在测试?DeleteFile仅对应用程序无法删除的文件返回false。对于被删除的其余文件,它返回true。是的,显然您正在测试deletefile是否在代码中工作。e、 g.while(!DeleteFile(someFile)do sleep(500);.PS重试次数,可能也不错。现在寻找解决方案还为时过早。您需要先诊断问题。@TonyHopkinson:可能更像这样:
而不是DeleteFile(someFile)do begin case GetLastError()未找到错误文件的原因:中断;错误共享\u冲突:睡眠(500);否则将出现错误;结束;结束;