Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
Delphi 2006 Professional
|
CopyFrom 0-Byte Fehler
25. Mai 2004, 14:05
Ich verwende folgenden Code um eine gepackte File zu entpacken aber wenn ich eine 0-Byte Datei kopieren "muss" macht er bei CopyFrom einen Fehler... Hat jemand eine Idee wie das elegant umgehen kann?
Delphi-Quellcode:
procedure DecompressFiles(const Filename, DestDirectory : String);
var
dest,s : String;
decompr : TDecompressionStream;
infile, outfile : TFilestream;
i,l,c : Integer;
begin
// IncludeTrailingPathDelimiter (D6/D7 only)
dest := IncludeTrailingPathDelimiter(DestDirectory);
infile := TFileStream.Create(Filename,fmOpenRead);
try
{ number of files }
infile.Read(c,SizeOf(c));
for i := 1 to c do
begin
{ read filename }
infile.Read(l,SizeOf(l));
SetLength(s,l);
infile.Read(s[1],l);
{ read filesize }
infile.Read(l,SizeOf(l));
{ decompress the files and store it }
s := dest+s; //include the path
outfile := TFileStream.Create(s,fmCreate);
decompr := TDecompressionStream.Create(infile);
try
outfile.CopyFrom(decompr,l); // <-- HIER ENTSTEHT DER FEHLER
finally
outfile.Free;
decompr.Free;
end;
end;
finally
infile.Free;
end;
end;
Christian Reber
|
|
Zitat
|