Hallo,
das eigentliche Kopieren der Datei lässt sich doch deutlich vereinfachen, wenn man auf Streams zurückgreift:
Delphi-Quellcode:
procedure CopyBytes(const fnIn, fnOut: TFileName; start: Int64);
var
sIn, sOut: TStream;
begin
sIn := TFileSTream.Create(fnIn, fmOpenRead or fmShareDenyWrite);
sOut := tFileStream.Create(fnOut, fmCreate);
sIn.Position := start;
sOut.CopyFrom(sIn, sIn.Size - sIn.Position);
sOut.Free;
sIn.Free;
end;
Das gilt auch dann noch, wenn man eine CallBack-Prozedur einführt um einen ProgressBar zu treiben.
Grüße vom marabu