AGB  ·  Datenschutz  ·  Impressum  







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

Zip-Archiv entpacken

Ein Thema von Guido Eisenbeis · begonnen am 9. Jan 2020 · letzter Beitrag vom 13. Jan 2020
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Zip-Archiv entpacken

  Alt 12. Jan 2020, 22:50
Hat jemand eine Idee?
Einfach im OnProgress-Event 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).

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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Zip-Archiv entpacken

  Alt 12. Jan 2020, 23:15
Einfach im OnProgress-Event 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 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?
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
229 Beiträge
 
#3

AW: Zip-Archiv entpacken

  Alt 13. Jan 2020, 07:38
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!
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:58 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