Einzelnen Beitrag anzeigen

ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#2

AW: SevenZip in den Arbeitsspeicher entpacken

  Alt 2. Dez 2010, 17:07
Soweit ich weiss gibt es da keine einfache Möglichkeit, zumindest nicht für Delphi und 7z-Dateien. Für Zip-Dateie könntest du fündig werden, aber ich kenne da keine Zip-Komponente die das entpacken in z.B. MemoryStreams ermöglichen würde (Abbrevia kann das z.B nicht).

Ich persönlich lege diese Dateien im Temp-Verzeichnis ab und lösche sie beim Programm-Ende wieder. Wenn das Programm allerdings abstürzt oder mittels Task-Manager abgeschossen wird bleiben sie aber liegen.

Wie benutzt du 7zip in Delphi? Kommandozeile oder Dll?

Dabei fällt mir ein: Theoretisch kannst du über die Konsolen-Version (7z.exe) mit dem Switch -so die Dateien nach StdOut entpacken. Du musst nur die Ausgabe umleiten, damit du die Daten dann im Arbeitsspeicher vorfindest. Das Umleiten des Standart Outputs für ein Konsolenprogramm ist zwar nicht trivial, aber machbar. Ich habe entsprechende Komponenten schon geschrieben...
  Mit Zitat antworten Zitat