这是FTP下载的一段代码,当文件下载异常 没有被关闭的时候,第二次下载会该文件无法操作
有什么办法可以关闭该文件吗?
procedure TIdFTP.Get(const ASourceFile, ADestFile: string; const ACanOverwrite: Boolean = False;
AResume: Boolean = False);
var
LDestStream, TestStream: TFileStream;
HFileRes: Thandle;
NotOpen: Boolean;
begin
if FileExists(ADestFile) then
begin
AResume := AResume and CanResume;
if ACanOverwrite and (not AResume) then
begin
LDestStream := TFileStream.Create(ADestFile, fmCreate );
end
else
begin
if (not ACanOverwrite) and AResume then
begin
LDestStream := TFileStream.Create(ADestFile, fmOpenWrite);
LDestStream.Seek(0, soFromEnd);
end
else
begin
raise EIdFTPFileAlreadyExists.Create(RSDestinationFileAlreadyExists);
end;
end;
end
else
begin
LDestStream := TFileStream.Create(ADestFile, fmCreate);
end; try
Get(ASourceFile, LDestStream, AResume);
finally
FreeAndNil(LDestStream);
end;
end;
有什么办法可以关闭该文件吗?
procedure TIdFTP.Get(const ASourceFile, ADestFile: string; const ACanOverwrite: Boolean = False;
AResume: Boolean = False);
var
LDestStream, TestStream: TFileStream;
HFileRes: Thandle;
NotOpen: Boolean;
begin
if FileExists(ADestFile) then
begin
AResume := AResume and CanResume;
if ACanOverwrite and (not AResume) then
begin
LDestStream := TFileStream.Create(ADestFile, fmCreate );
end
else
begin
if (not ACanOverwrite) and AResume then
begin
LDestStream := TFileStream.Create(ADestFile, fmOpenWrite);
LDestStream.Seek(0, soFromEnd);
end
else
begin
raise EIdFTPFileAlreadyExists.Create(RSDestinationFileAlreadyExists);
end;
end;
end
else
begin
LDestStream := TFileStream.Create(ADestFile, fmCreate);
end; try
Get(ASourceFile, LDestStream, AResume);
finally
FreeAndNil(LDestStream);
end;
end;
你说》》第二次下载会该文件无法操作具体是什么样的提示呢?