D
DreamTiger
Unregistered / Unconfirmed
GUEST, unregistred user!
问题来源:
用TIdFtpServer写ftpserver,
procedure TMainForm.IdFTPServer1RetrieveFile(ASender: TIdFTPServerThread;
AFilename: String;
var VStream: TStream);
begin
VStream := TFileStream.Create(AFileName,fmOpenRead,fmShareDenyNone);
end;
用flashget去拉,第一辆小车拉了就跑,第二辆小车一来,就出错:文件不能打开。
问题:
1、fmShareDenyNone是否意味着,只有别的程序能够再打开该文件,而自己程序中,
只能打开一次,就算是在多线程中也不行?
2、如果1成立,那么,多线程写是否也就是不可能的事情?最多实现多线程从网上
读取数据,单线程写?
分数不是问题,希望这个问题这次能够有个圆满解决方案。
用TIdFtpServer写ftpserver,
procedure TMainForm.IdFTPServer1RetrieveFile(ASender: TIdFTPServerThread;
AFilename: String;
var VStream: TStream);
begin
VStream := TFileStream.Create(AFileName,fmOpenRead,fmShareDenyNone);
end;
用flashget去拉,第一辆小车拉了就跑,第二辆小车一来,就出错:文件不能打开。
问题:
1、fmShareDenyNone是否意味着,只有别的程序能够再打开该文件,而自己程序中,
只能打开一次,就算是在多线程中也不行?
2、如果1成立,那么,多线程写是否也就是不可能的事情?最多实现多线程从网上
读取数据,单线程写?
分数不是问题,希望这个问题这次能够有个圆满解决方案。