Einzelnen Beitrag anzeigen

Jim Carrey
(Gast)

n/a Beiträge
 
#7

AW: ZIP-Forge Datei zippen im MemoryStream (geöffnete Dateien)

  Alt 11. Okt 2016, 09:17
Ich habe das gerade mal so versucht
Delphi-Quellcode:
ZipForge1.OpenArchive(fmCreate);

// Statt ZipForge1.AddFiles(aFileName); nun ...

// for ... alle meine Daten
aFileStream := TFileStream.Create(aFileName, fmOpenRead); // fmOpenRead statt fmOpenWrite
ZipForge1.AddFromStream(aFileName, aFileStream);
aFileStream.Free;
// ende for

ZipForge1.CloseArchive;
Leider ist das Archiv dann leer. Ich habe bestimmt einen sau-blöden Fehler gemacht und sehe ihn nicht.
Das Archiv war nur leer, weil ich am Ende der For-Schleife noch ein aMemoryStream.SaveToFile() vom alten MemoryStream stehen hatte.


Edit: ich sehe gerade ZipForge1.AddFromStream() hat leider einen Bug und ist unbrauchbar.
Die Option ZipForge1.Options.StorePath := spRelativePath; wird bei AddFromStream komplett ignoriert.
Außer aber man entfernt durch String-Replace das BaseDir aus aFileName, dann ist es OK.

Geändert von Jim Carrey (11. Okt 2016 um 09:48 Uhr)
  Mit Zitat antworten Zitat