![]() |
DFUnRar entpackt nicht "sichtbar"
Hi DP,
Ich benutzte DFUnRar um Dateien zu entpacken, aber irgendwie kriegt er es nicht gebacken ^^. Das ist der passende Code dazu:
Delphi-Quellcode:
Ich habe es probiert mit einer Rar-Datei mit rar-Endung (normalerweise hat die Datei keine Endung).
duUnrar := TDFUnRar.Create(self);
try duUnrar.OnProgress := UnrarProgress; duUnrar.FileName := ParamStr(1); outputPath := ExtractFilePath(ParamStr(3)); duUnrar.Directory := Copy(outputPath, 1, Length(outputPath) - 1); duUnrar.Extract; finally FreeAndNil(duUnrar); end; Auch mit "\" und ohne "\" als abschließendes Zeichen bei Directory. Due ProgressMethode wird aufgerufen, aber irgendwie auch nicht korrekt:
Delphi-Quellcode:
"FileCount" ist nämlich 0 (obwohl FilesProcessed höher liegt!)
procedure TForm1.UnrarProgress(Sender: TObject; FilesProcessed, FileCount,
SizeProcessed, SizeCount: Cardinal); begin if FileCount > 0 then pbStatus.Position := Round(FilesProcessed / FileCount * 100) else pbStatus.Position := FilesProcessed; Application.ProcessMessages; end; Und das Archiv ist frisch mit WinRAR selbst gepackt ! Übrigens: FilesProcessed liegt zu hoch ^^ Und zwar ist der Maximalwert 57, und es gibt nur 45 Dateien und 11 Ordner (Also 56 insgesamt). |
Re: DFUnRar entpackt nicht "sichtbar"
Ich kann dir zwar jetzt nicht direkt helfen, aber bist du sicher das bei
Delphi-Quellcode:
der ParamStr(3) richtig ist? Gibt es da noch einen weiteren Parameter oder müsste es nicht ParamStr(2) heissen?
outputPath := ExtractFilePath(ParamStr(3));
|
Re: DFUnRar entpackt nicht "sichtbar"
Hi,
Leider Nein :) Pfade sind richtig (debuggt) Das Programm hat 4 Parameter ^^ (also insgesamt 5) ;) MfG xZise |
Re: DFUnRar entpackt nicht "sichtbar"
Woran könnte es liegen, dass er nicht entpackt :)
Bitte helft mir xD Liegt es vielleicht an der .dll? Muss ich da was beachten? Oder gibt es seit kurzem eine neu Unit die das behebt? |
Re: DFUnRar entpackt nicht "sichtbar"
Vielleicht hilft Dir dieses Demoprogramm mit Source:
![]() |
Re: DFUnRar entpackt nicht "sichtbar"
Hi,
Oh ja :oops: Danke ^^ Mit
Delphi-Quellcode:
funktioniert das wunderbar.
.Mode := DFRAR_EXTRACT;
Und wenn ich vorher folgendes Kontrukt ausführe, zeigt er einen korrekten "FileCount"-Wert in der Progressroutine an:
Delphi-Quellcode:
Und es wurde eine Datei zu viel "extrahiert", weil ich vergessen hatte ( :oops: ), dass die Dateien noch in einen Ordner gespeichert waren ^^
// Rar-Datei einlesen
duUnrar.CanProgress := false; duUnrar.Mode := DFRAR_LIST; duUnrar.Extract; duUnrar.CanProgress := true; MfG xZise |
Re: DFUnRar entpackt nicht "sichtbar"
Zitat:
Schön. Ich bin auch dabei, mich mit dem Thema zu befassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz