【发布时间】:2014-09-19 00:21:48
【问题描述】:
环境:Delphi 2010,Indy10
我知道我不是一个人遇到这个问题... File is Still in Use Error 32 How can I free it?
但经过几天的战斗我放弃了。
我的代码
var
multi: TIdMultipartFormDataStream;
ss: TStringStream;
FHTTP: TIdHTTP;
FHTTP := TidHTTP.Create(nil);
Multi:=TidMultiPartFormDataStream.Create;
Multi.AddFormField('eventid', TSettingsManager.GetAppSettings('EventID'));
Multi.AddFormField('password', TSettingsManager.GetAppSettings('EventPassword'));
Multi.AddFile('file', filename, 'image/jpeg'); //GetMIMETypeFromFile(fileName));
try
FHTTP.Post(TSettingsManager.GetAppSettings('WEBServer') + '/upload', Multi, ss);
finally
Multi.Clear;
FreeAndNil(Multi);
FreeAndNil(FHTTP);
end;
IOUtils.TFile.Delete(filename);
当我尝试删除文件时出现异常“文件正在使用中”。 我应该如何操作以释放文件然后将其删除?
【问题讨论】:
-
您尝试过最新的 Indy 10.6 版本吗?也许现在已经修好了。
-
@mjn:感谢您的回答。我使用 Indy 和 gsIdVersion = '10.6.0.5146';现在会尝试更新。
-
@mjn:现在我有gsIdVersion = '10.6.1.5187'...情况也一样。
-
感谢大家。我的问题是对单个文件的多线程访问和非常慢的 inet 连接。