H
hcnet
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
S,T: TFileStream; {文件流}
SourceFileName,DestFileName:String;{源文件和目的文件名}
//IniFile:TIniFile;
FileName:string;
begin
SourceFileName:='e:/sys/ghost.iso';
DestFileName:='d:/sys/ghost.iso';
S:=TFileStream.Create(SourceFileName, fmOpenRead );
Application.ProcessMessages;
try
T:= TFileStream.Create(DestFileName,fmOpenWrite or fmCreate );
try
T.CopyFrom(S,S.Size)
T.Free;
showmessage('拷贝成功!');
except
showmessage('拷贝失败,请手工拷贝!');
end;
S.Free;
except
showmessage('拷贝失败,请手工拷贝!');
end;
end;
为什么拷贝 超过1G的文件会出现假死的状态。。。。系统无响应。。。
死循环现象
下面用内存流拷贝的时候也是这样的。。
procedure TForm1.Button1Click(Sender: TObject);
var
SourceFileName,DestFileName: String;
begin
SourceFileName:='e:/sys/ghost.iso';
DestFileName:='d:/sys/ghost.iso';
with TMemoryStream.Create do
try
LoadFromFile(SourceFileName);
SaveToFile(DestFileName);
finally
Free;
end;
end;
end.
请问各位学长有没有好的办法能够解决呢?
Application.ProcessMessages; 这个加上话的。。。
能解决这个问题??
用文件流和内存流拷贝的时候。。。进度条该如何解决呢?
var
S,T: TFileStream; {文件流}
SourceFileName,DestFileName:String;{源文件和目的文件名}
//IniFile:TIniFile;
FileName:string;
begin
SourceFileName:='e:/sys/ghost.iso';
DestFileName:='d:/sys/ghost.iso';
S:=TFileStream.Create(SourceFileName, fmOpenRead );
Application.ProcessMessages;
try
T:= TFileStream.Create(DestFileName,fmOpenWrite or fmCreate );
try
T.CopyFrom(S,S.Size)
T.Free;
showmessage('拷贝成功!');
except
showmessage('拷贝失败,请手工拷贝!');
end;
S.Free;
except
showmessage('拷贝失败,请手工拷贝!');
end;
end;
为什么拷贝 超过1G的文件会出现假死的状态。。。。系统无响应。。。
死循环现象
下面用内存流拷贝的时候也是这样的。。
procedure TForm1.Button1Click(Sender: TObject);
var
SourceFileName,DestFileName: String;
begin
SourceFileName:='e:/sys/ghost.iso';
DestFileName:='d:/sys/ghost.iso';
with TMemoryStream.Create do
try
LoadFromFile(SourceFileName);
SaveToFile(DestFileName);
finally
Free;
end;
end;
end.
请问各位学长有没有好的办法能够解决呢?
Application.ProcessMessages; 这个加上话的。。。
能解决这个问题??
用文件流和内存流拷贝的时候。。。进度条该如何解决呢?