AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

System.Zip Entpacken einer Datei

Ein Thema von zeras · begonnen am 26. Jan 2024 · letzter Beitrag vom 30. Jan 2024
Antwort Antwort
Seite 2 von 2     12   
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#11

AW: System.Zip Entpacken einer Datei

  Alt 27. Jan 2024, 17:07
Wäre es möglich eine Beispiel-Zip zu erstellen, die wir hier zum Testen verwenden können?
Das kann ich wegen der darin enthaltenen Quellen leider nicht publizieren.
Auch kann ich nicht die "schlechte" Datei nehmen und einige Dateien löschen. Sobald ich wieder ein Zipprogramm zum Zippen nehme, wird der Slash eingefügt, Beispiel:

V01\compile.log -> bringt Fehler
V01/compile.log -> OK, keine Exception

Wenn eine Datei in der Root steht, dann klappt alles, da ja der Backslash fehlt.
Ich könnte ja den Teil hier posten, weiß aber nicht, ob ich das darf wegen Emba??

Ich weiß bisher nicht, mit welchem Zipprogramm die "schlechten" Dateien gezipt wurden. Das kann ich vielleicht nächste Woche herausfinden, ist aber nicht klar, da hier mehrere Kollegen gezipt haben und einige davon sind sehr kreativ.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#12

AW: System.Zip Entpacken einer Datei

  Alt 27. Jan 2024, 17:18
Wäre es möglich eine Beispiel-Zip zu erstellen, die wir hier zum Testen verwenden können?
Das kann ich wegen der darin enthaltenen Quellen leider nicht publizieren.
Auch kann ich nicht die "schlechte" Datei nehmen und einige Dateien löschen. Sobald ich wieder ein Zipprogramm zum Zippen nehme, wird der Slash eingefügt, Beispiel:

V01\compile.log -> bringt Fehler
V01/compile.log -> OK, keine Exception

Wenn eine Datei in der Root steht, dann klappt alles, da ja der Backslash fehlt.
Ich könnte ja den Teil hier posten, weiß aber nicht, ob ich das darf wegen Emba??

Ich weiß bisher nicht, mit welchem Zipprogramm die "schlechten" Dateien gezipt wurden. Das kann ich vielleicht nächste Woche herausfinden, ist aber nicht klar, da hier mehrere Kollegen gezipt haben und einige davon sind sehr kreativ.

In der o.g. Spezi steht folgender Text drin, d.h. dass das Zipprogramm, was genutzt wurde, nicht der Spezi entspricht oder beim Einlesen des Headers noch etwas verändert wurde. Ich habe bisher nur hier "TZipFile.IndexOf" nachgeschaut und nicht bei Zip.Open.

Zitat:
4.4.17 file name: (Variable)

4.4.17.1 The name of the file, with optional relative path.
The path stored MUST NOT contain a drive or
device letter, or a leading slash. All slashes
MUST be forward slashes '/' as opposed to
backwards slashes '\' for compatibility with Amiga
and UNIX file systems etc. If input came from standard
input, there is no file name field.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#13

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 14:13
Leider gibt es das oft das Hersteller von tools von standards abweichen! Wer auch immer deine Dateien gezipt hat, hat ein nicht standard konformes tool benutzt.
Ich hatte das mal bei der einem VOIP-CAPI Produkt...nennen wir es YCAPI. Das ist eine CAPI2032.DLL die angeblich ISDN conform den CAPI auf IP telefonie umsetzt.
Dann gab es immer weieder mal Abstürze oder unseres auf der CAPI programms wenn es mit YCAPI arbeitete.
Stellte sich heraus dass YCAPI nach einer DISCONNECT_B3_IND message trotzdem noch DATA_B3_CONF Messages dieser Connection im speicher ablegte...
Eindeutig nicht standard konform!
Code:
(Capi 2.0 Version 5 Seite 44)

Every DATA_B3_REQ results in a corresponding DATA_B3_CONF, with one ex-ception: after transmitting the message DISCONNECT_B3_IND to an application, COMMON-ISDN-API is not allowed to send any other message concerning this log-ical connection. Therefore the application must ensure correct management of re-sources or buffers.
Ich habe die Hersteller auf die Seite und die Zeile hingeweisen , wo steht das das nicht geht conformation messages in eine Disconnecteten Verbindung auszuliefern...
die Antwort war "DOCH DAS IST WOHL STANDARD KONFORM"... lol

Wir haben dann unser Programm so angepasst das es auch mit nicht standardkonformen CAPI2023.dll implementierungen umgehen kann...

Und du musst das vermutlich auch mit den PFADEN machen, damit du Zipdateien von diesen nicht standardkonformen programmen öffnen kannst...
Oder machs wie ich und versuch mal solche leute dazu zu bewegen nen Standard durchzulesen... und dann das Programm anzupassen.
Wie dem aucch sei mit legacy dateien könnte es ja dann trotzdem nicht funktionieren.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (29. Jan 2024 um 15:06 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#14

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 18:36

Und du musst das vermutlich auch mit den PFADEN machen, damit du Zipdateien von diesen nicht standardkonformen programmen öffnen kannst...
Oder machs wie ich und versuch mal solche leute dazu zu bewegen nen Standard durchzulesen... und dann das Programm anzupassen.
Wie dem aucch sei mit legacy dateien könnte es ja dann trotzdem nicht funktionieren.
Danke für deine Infos. So geht es offenbar bei vielen Entwicklern. Jeder hat Recht und keine ändert etwas.
Die nicht konformen Dateien stammen wahrscheinlich aus der Zeit, wo man mein Programm nicht genutzt hatte. Da hat wohl jeder einen Zipper gefunden und genutzt. Ich muss nur demnächst einmal prüfen, ob es immer noch Leute gibt, die etwas anderes als mein Programm benutzen. Ist halt einfach, da man die Dateien auch lokal zippen und dann per Explorer auf unser Netzlaufwerk schieben kann. Das kann ich derzeit nicht ändern.
Da nun schon etliche Dateien auf dem Netz liegen, muss ich wie oben beschrieben, die Delphi Zip Routine ändern. Es wäre natürlich schön, wenn Emba dies auch machen würde, um kompatibler zu sein. Aber wenn man sich an den Standard hält, hat man ja alles richtig gemacht.
Danke für eure Unterstützung.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#15

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 19:26
Naja, sobald das neue Bugtracking System in ein paar Tagen verfügbar ist,
könntest du dort ja einen Feature Request dazu reinstellen, ggf. mit Verweis
auf diesen Thread bzw. einer Beschreibung dass es solche problematische Zipper
gibt.

Da wäre es aber vermutlich hilfreich wenn du rausfinden könntest welcher Zipper
das macht, dann kann man leichter testen...
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#16

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 21:17
Naja, sobald das neue Bugtracking System in ein paar Tagen verfügbar ist,
könntest du dort ja einen Feature Request dazu reinstellen, ggf. mit Verweis
auf diesen Thread bzw. einer Beschreibung dass es solche problematische Zipper
gibt.
Habe ich zwar noch nie gemacht, kann es ja aber mal versuchen.


Da wäre es aber vermutlich hilfreich wenn du rausfinden könntest welcher Zipper
das macht, dann kann man leichter testen...
Da ich mehrere Zipdateien mit dem Problem habe, kann ich das vielleicht herausfinden, wer diese bearbeitet hat. Sollte ich etwas herausfinden, kann ich das ja hier posten. Wird aber ein wenig Sisyphusarbeit.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 21:50
Da wäre es aber vermutlich hilfreich wenn du rausfinden könntest welcher Zipper
das macht, dann kann man leichter testen...
PowerShell bis letztes Jahr (gemeldet 2017 in Bug #48), .NET bis 4.6.1 und alle darauf aufsetzenden Tools, ...
Leider war das weit verbreitet, weshalb es durchaus Sinn macht, ein Tool zum Entpacken an der Stelle fehlertolerant zu gestalten statt sich streng an den Standard zu halten (auch wenn das natürlich korrekt ist).
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#18

AW: System.Zip Entpacken einer Datei

  Alt 29. Jan 2024, 22:19
Ich würde es vorziehen ein Tool zu haben das solche Dateien repariert. Das kann ja auch in einer anderen Programmiersprache gemacht werden und es wäre auch für alle Systeme nutzbar - nicht nur für Delphi Programme ab Version X. Warum soll denn jedes ZIP-lesende Programm auch solche Abweichungen von der Norm verarbeiten können. Das ist doch total unökonomisch. Wenn dann nächsten Monat ein neuer Kandidat mit einer eigenwilligen Interpretation des Standards auftaucht, dann genügt eine neue Version des Tools um das für alle abzudecken. Mit Sicherheit gibt es solche Tools bereits. Man muss nur das geeignete raussuchen. Open Source wäre sicher ein Vorteil.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#19

AW: System.Zip Entpacken einer Datei

  Alt 30. Jan 2024, 14:09
PowerShell bis letztes Jahr (gemeldet 2017 in Bug #48), .NET bis 4.6.1 und alle darauf aufsetzenden Tools, ...
Microsoft.....Ich weiß nicht ob ich lachen soll oder weinen soll das es natürlich ein millarden schwerer konzern war der den Bug schöööön weit verbreitet hat und dann auch noch einen so Windows-Compatiblen bug...
Und ist das jetz wie mit der Windows C-Api? Verlassen sich jetzt etliche Software Hersteller darauf das der Bug weiter besteht?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz