Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ECompressionError mit KAZip (https://www.delphipraxis.net/116525-ecompressionerror-mit-kazip.html)

trashcandesign 1. Jul 2008 11:16


ECompressionError mit KAZip
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich bekomme von einem Partner eine ZIP-Datei, die über PHP erstellt wurde.
Diese Datei kann ich auch ohne Probleme mit WinRar oder der Zip-Kompo von Windows öffnen und entpacken.

Jetzt möchte ich aber die Datei aus meinem Prog raus extrahieren. Das Ganze versuche ich mit KAZip, was mit von mir erstellten Zips auch sehr gut funktioniert.

Sobald ich jetzt versuche die aus PHP erstellte Datei zu entpacken bekomme ich einen ECompressionError.

Habt ihr ne Ahnung, woran das Problem liegt?
Oder könnt ihr mir eine andere Komponente empfehlen, die ich schnell und einfach einbinden kann und die die Datei entpacken kann?

Im Anhang findet Ihr eine abgespeckte Zip-Datei, bei der ich auch diesen Fehler bekomme.

DeddyH 1. Jul 2008 11:43

Re: ECompressionError mit KAZip
 
Du könntest es mal mit Abbrevia versuchen.

trashcandesign 1. Jul 2008 11:49

Re: ECompressionError mit KAZip
 
Hm, soweit ich das jetzt sehe könnte es an einer veralteten Version der ZLib liegen, da es auch in der ZLib knallt,
und zwar in der Funktion
Delphi-Quellcode:
function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;
Mein Delphi verwendet noch die Version 1.0.4 der ZLib.
Ich habe mir jetzt auch von zlib.net die aktuellste Version heruntergeladen, aber wie bringe ich meinem Delphi bei, dass er die verwenden soll? Mit anderen Worten, wie installier ich die?

RavenIV 1. Jul 2008 11:54

Re: ECompressionError mit KAZip
 
Oder Du gehtst zu torry.net und suchst mal nach "zip".
Dort gibt es jede Menge freier zip-Komponenten.

Irgendeine wird doch wohl das zip-File korrekt entpacken können.
Was Deine Komponente anscheinend nicht kann...

trashcandesign 1. Jul 2008 14:15

Re: ECompressionError mit KAZip
 
Habe jetzt noch andere Komponenten ausprobiert, immer mit dem gleichen Ergebnis.

Ich denke es liegt wirklich an der ZLib, da auch die anderen Kompos diese eingebunden haben.

Ich habe die jetzt mal auf die aktuellste Version geupdated, leider ohne großen erfolg.

trashcandesign 2. Jul 2008 10:09

Re: ECompressionError mit KAZip
 
So, Problem gefunden.

Der Fehler lag in der PHP-Datei, die das Zip-File erstellt hat.
Im Endeffekt hat einfach nur die länge des komprimierten Strings nicht mit der angegebenen Länge übereingestimmt.

Gott sei Dank gibt es eindeutige Fehlermeldungen (Es ist ein Fehler aufgetreten: Error)

RavenIV 2. Jul 2008 10:33

Re: ECompressionError mit KAZip
 
Zitat:

Zitat von trashcandesign
So, Problem gefunden.

Der Fehler lag in der PHP-Datei, die das Zip-File erstellt hat.
Im Endeffekt hat einfach nur die länge des komprimierten Strings nicht mit der angegebenen Länge übereingestimmt.

Gott sei Dank gibt es eindeutige Fehlermeldungen (Es ist ein Fehler aufgetreten: Error)

Aber mit WinZip und WinRar konntest Du die fehlerhafte Datei öffnen?
Dann sind diese beiden Tools aber sehr fehlertolerant :-|


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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 by Thomas Breitkreuz