Ich habe eines meiner Programme nun auf System.Zip umgestellt, wollte aber auch den Fortschritt darstellen.
Leider komme ich nicht weiter.
Hier wird es ein wenig erklärt.
Ich habe die Ziproutinen in eine
Unit gepackt, die wie folgt aussieht:
Delphi-Quellcode:
procedure OnZipProgressEvent(Sender: TObject; FileName: string; Header: TZipHeader; Position: Int64);
begin
if PreviousFilename <> FileName then
begin
// StaticText1.Caption := ExtractFileName(FileName);
PreviousFilename := FileName;
fMain.UpdateZipProgressPosition(0);
end
else
fMain.UpdateZipProgressPosition((Position * 100) div Header.UncompressedSize);
//Application.ProcessMessages;
end;
function EntzipAllFiles(Srcfname, DstDir: string): boolean;
var
Zip : TZipFile;
begin
Result := false;
Zip := TZipFile.Create;
try
Zip.ExtractZipFile(SrcfName, DstDir, OnZipProgressEvent); >> Fehler E2250 Es gibt keine überladene Version von Extractzipefile
Zip.Close;
Result := true;
finally
Zip.Free;
end;
end;
Was mache ich falsch?