Oder willst Du ein globales Flag Shutdown: Boolean einführen und in jedem destructor prüfen ob das gesetzt ist?
Gibt es schon:
Application.Terminated
Aber so direkt in Komponenten sollte man es dann doch nicht verwenden, denn
* in einer Service-Anwendung kommt "Application" nicht aus der
Unit Forms, sondern aus SvcMgr
* im FMX ist es FMX.Forms statt
VCL.Forms
* In einem Thread wäre es
Self.Terminated
, falls der Thread in der
RTL gekapselt wäre,
und außerhalb der Threadklasse könnte man auf die Idee kommen
TThread.CurrentThread.Terminated
zu nehmen, was aber nicht funktioniert, da CurrentThread eine "eigene" Klasseninstanz nutzt und der Terminated-Flag nicht durchgereicht wird.
* ...
und für eine Komponente/
Unit ist beim Kompilieren aber nicht ersichtlich, wo sie verwendet wird.