Guten Abend liebe
DP.
Ich Programmiere im Moment einen Auto-Updater für eines meiner Programme. Das Herunterladen funktioniert soweit, er lädt fein das WinRAR-Archiv runter,
so wie er es soll. Nun zum eigentlichem Problem: Ich will dieses Archiv mithilfe der DFUnRar-Komponente entpacken, doch sobald ich die entsprechende Prozedur aufrufe, erhalte ich einen Fehler a la "Zugriffsverletzung in Modul unrar.dll". Wenn ich dasselbe Rar Archiv mithilfe der mitgelieferten Demo-Komponente entpacke läuft es fehlerfrei. Vielleicht findet ihr dabei den Fehler, hier der entsprechende Source:
Delphi-Quellcode:
var
DFUnRar: TDFUnRar; //Variable, die die Instanz des Objektes enthalten soll
begin
DFUnRar := TDFUnrar.Create(Self); //Instanz des Objektes erzeugen
try //ab hier alle Fehler abfangen, damit das Objekt auf jeden Fall freigegeben wird
with DFUnRar do
begin
FileName := ExtractFilePath(ParamStr(0)) + 'TestFolder.rar'; //Dateiname des Archives angeben
Directory := ExtractFilePath(ParamStr(0)) + 'Temp'; //Ausgabeverzeichnis (darf nicht auf \ enden!)
ForceDirectories(Directory); //sicherstellen, dass temporäres Ausgabeverzeichnis auch existiert
FileList.Clear; //Dateiliste der zu entpackenden Dateien leeren
//Befindet sich die Datei in einem Unterverzeichnis im Archiv, so muss auch dieses mit angegeben werden
Mode := DFRAR_EXTRACT; //Extract kann Dateien entpacken oder nur Inhaltsverzeichnisse erstellen (DFRAR_LIST)
OverrideEvent := OR_NEVER; //Ist die Datei im Ausgabeverzeichnis bereits vorhanden, so auf keine Fall überschreiben (Alternative OR_ALWAYS)
Extract; //Nun aber los ;-)
end;
finally
DFUnRar.Free; //und nicht vergessen: Objekt auf brav wieder freigeben
end;
Danke im Vorraus
[EDIT] Hat sich erledigt, hatte sich ein Fehler in den Pfad eingeschlichen -.-"
Code ist hier in der
DP gesucht worden.[/EDIT]
Dominik C.
Orientierungslos sieht man mehr vom Leben.