Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ZLib und TCompressionStream inkompatibel (https://www.delphipraxis.net/37201-zlib-und-tcompressionstream-inkompatibel.html)

Jelly 2. Jan 2005 12:57


ZLib und TCompressionStream inkompatibel
 
Hallo,

ich benutze folgenden Code, um eine Zipfile zu erstellen. Ist eigentlich der gleiche Code wie in diesem Thread

Delphi-Quellcode:
     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 ;
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."

was mach ich denn hier falsch ?

mirage228 2. Jan 2005 13:08

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

Jelly 2. Jan 2005 13:13

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?

Sprint 2. Jan 2005 13:20

Re: ZLib und TCompressionStream inkompatibel
 
Seit wann kann man mit ZLib ZIP-fähige Archive erstellen?

Jelly 2. Jan 2005 13:24

Re: ZLib und TCompressionStream inkompatibel
 
Zitat:

Zitat von Sprint
Seit wann kann man mit ZLib ZIP-fähige Archive erstellen?

Keine Ahnung, aber grad hat mir dieses Forum das hier gesagt:
http://www.tp-net.lu/delphi-praxis/zlib.jpg

Jelly 2. Jan 2005 13:33

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

phXql 2. Jan 2005 13:39

Re: ZLib und TCompressionStream inkompatibel
 
wahrscheinlich fehlt deinem mit dem stream erstellten archiv der header... deswegen kann winrar damit nix anfangen...

Jelly 2. Jan 2005 13:41

Re: ZLib und TCompressionStream inkompatibel
 
Das könnts sein.

Kann man denn mit ZLib diesen Header definieren?

phXql 2. Jan 2005 13:45

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