![]() |
ZLib und TCompressionStream inkompatibel
Hallo,
ich benutze folgenden Code, um eine Zipfile zu erstellen. Ist eigentlich der gleiche Code wie ![]()
Delphi-Quellcode:
Das Zipfile "ZipName" wird auch angelegt, allerdings krieg ich das Archiv nicht geöffnet, nicht mal mit Winrar, sonder erhalte nur die Meldung "Das Archiv besitzt ein unbekanntes Format oder ist beschädigt."
FS := TFileStream.Create(ZipName,fmCreate);
CS := TCompressionStream.create (clDefault,FS) ; try CS.write (Name[1],length(Name)) ; // nur als Bsp. In Wirklichkeit viel mehr finally CS.free ; FS.free ; end ; was mach ich denn hier falsch ? |
Re: ZLib und TCompressionStream inkompatibel
Hi,
ist zwar keine direkte Lösung für Dein Problem, aber Du könntest komponente wie "TurboPower Abbrevia" verwenden, die können ganz einfach Archive anlegen. mfG mirage228 |
Re: ZLib und TCompressionStream inkompatibel
Ich kann vieles, bin manchmal selbst erstaunt :?
Im Ernst, hab schon des öfteren mit ZipMaster o.ä. gearbeitet. Ich hab in diesem Fall aber schon quasi alles in einem Stream stehen, und wollt mir den Umweg über irgendeine Fremdkomponent sparen. Kann es eventuell sein, daß das was ZLib erzeugt, gar kein kompatibles zip File ist, sondern was eigenes, was halt nur mit TDecompressionStream entpackt werden kann? |
Re: ZLib und TCompressionStream inkompatibel
Seit wann kann man mit ZLib ZIP-fähige Archive erstellen?
|
Re: ZLib und TCompressionStream inkompatibel
Zitat:
![]() |
Re: ZLib und TCompressionStream inkompatibel
Also das scheint in der Tat nicht kompatibel zu sein. Mit TDecompressStream krieg ich wieder alles richtig entpackt. Mit WinRar oder dem Ziptool aus WinXP halt nicht.
Werd dann wohl doch ne andere Komponente nutzen müssen |
Re: ZLib und TCompressionStream inkompatibel
wahrscheinlich fehlt deinem mit dem stream erstellten archiv der header... deswegen kann winrar damit nix anfangen...
|
Re: ZLib und TCompressionStream inkompatibel
Das könnts sein.
Kann man denn mit ZLib diesen Header definieren? |
Re: ZLib und TCompressionStream inkompatibel
ich schätz mal, das wird das selbe sein wie in JAVA der GZipOutputStream. nur dass dein ZLib halt keine Zips erzeugt, sondern was, was in die richtung von GZip geht. frag mich nun aber nich, wie man den header hinbekommt ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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