Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zip-Archiv entpacken (https://www.delphipraxis.net/203066-zip-archiv-entpacken.html)

scrat1979 12. Jan 2020 16:02

AW: Zip-Archiv entpacken
 
Zitat:

Zitat von zeras (Beitrag 1454997)
Da wir schon beim Entzippen sind. Kann das nun integrierte Zippen/Entzippen auch in einen Stream entzippen?
Ich habe noch Delphizip im Einsatz. Dort steht aber, das die aus Gesundheitsgründen nicht mehr weiterentwicklelt wird.
Daher suche ich nach einer Alternative in Zukunft. Wenn das schon in Delphi integriert ist, wäre das meines Erachtens die beste Alternative.

Mit TZipForge von ComponentAce geht das auf jeden Fall. Eventuell wäre dies noch einen Blick wert. Für den kommerziellen Einsatz zwar nicht kostenlos, aber durchaus preislich im Rahmen. Verwende ich in einigen Projekten und bin top zufrieden.

philipp.hofmann 12. Jan 2020 16:54

AW: Zip-Archiv entpacken
 
Ich benutze auch TZipForge, weil es auch sehr große Zip-Dateien unterstützt, wo TZipFile aussteigt und dies benötige ich in einigen Projekten.

Guido Eisenbeis 12. Jan 2020 16:58

AW: Zip-Archiv entpacken
 
Zitat:

Zitat von zeras (Beitrag 1454997)
Da wir schon beim Entzippen sind. Kann das nun integrierte Zippen/Entzippen auch in einen Stream entzippen?

Das scheint möglich. Native Zip file support in Delphi XE2

Uwe Raabe 12. Jan 2020 22:50

AW: Zip-Archiv entpacken
 
Zitat:

Zitat von Guido Eisenbeis (Beitrag 1454840)
Hat jemand eine Idee?

Einfach im OnProgress-Event
Delphi-Quellcode:
Abort
(aus System.SysUtils) aufrufen. Das erzeugt intern auch eine Exception, aber genau diese wird sowohl von der IDE als auch von der TApplication ignoriert. Man bricht also einfach die aktuelle Aufgabe ab (daher wohl auch der Name).

Zitat:

Zitat von Incocnito (Beitrag 1454873)
Hier wird dann die komplette Datei "in einem Rutsch" in einen Stream geladen,
danach beschäftigt sich die Funktion im Wesentlichen darum die passende Datei (TFileStream)
anzulegen. Anschließend wird "OnProgress" aufgerufen. Da ist das aber alles schon vorbei.

Das OnProgress wird aber auch noch innerhalb dieses "Rutsch" aufgerufen. Insofern kann man auch während des Extract einer Datei abbrechen.

Guido Eisenbeis 12. Jan 2020 23:15

AW: Zip-Archiv entpacken
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1455031)
Einfach im OnProgress-Event
Delphi-Quellcode:
Abort
(aus System.SysUtils) aufrufen.

Ich habe es kurz ausprobiert. Es bricht zwar die Ausführung ab, aber die Anwendung ist nicht mehr ansprechbar.

Im OnProgress-Event habe ich eingefügt
Delphi-Quellcode:
if g_bAbort then Abort;
In der Hilfe steht "Abort übergibt die Ausführung an das Ende des letzten Exception-Blocks." Kannst du mir bitte das Drumrum zeigen? Muss da ein Try-Exept Konstrukt hin? Wo mache ich meine anderen Code im OnProgress-Event hin?

Incocnito 13. Jan 2020 07:38

AW: Zip-Archiv entpacken
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1455031)
Zitat:

Zitat von Incocnito (Beitrag 1454873)
Hier wird dann die komplette Datei "in einem Rutsch" in einen Stream geladen,
danach beschäftigt sich die Funktion im Wesentlichen darum die passende Datei (TFileStream)
anzulegen. Anschließend wird "OnProgress" aufgerufen. Da ist das aber alles schon vorbei.

Das OnProgress wird aber auch noch innerhalb dieses "Rutsch" aufgerufen. Insofern kann man auch während des Extract einer Datei abbrechen.

Am Ende von Read wird das OnProgress übergeben ... habe ich in der Tat übersehen!
Sehr gut aufgepasst! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
Seite 3 von 3     123   

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