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.