![]() |
Re: OnTerminate wird nicht ausgeführt
... und entferne unbedingt die Verwendung von ExceptObject in deinem Exception Handler der Execute Methode. Du hast keine Ahnung in Multi-threaded Applications welches Exceptionobjekt du da gerade in der ein einzigen globalen Variable hast. Es gibt nicht umsonst das On E: Exception do Konstrukt.
Auch ist EAbort eine stille Exception und schlägt so nicht im Exceptionhandler´auf - was ja die Besonderheit von stillen Exceptions ist. |
Re: OnTerminate wird nicht ausgeführt
ExceptObject verwendet zumindest in Delphi 2006 die threadspezifische Variable RaiseListPtr - ich meine allerdings auch, dass die on-Klausel hier geeigneter ist.
Was meinst du mit "stille Exceptions schlagen nicht im Exceptionhandler auf"? In TApplication.HandleMessage muss auch explizit auf EAbort geprüft werden. |
Re: OnTerminate wird nicht ausgeführt
Zitat:
|
Re: OnTerminate wird nicht ausgeführt
Ich verstehe deinen Punkt nicht. Da er die Exception aus dem Thread an ShowException und nicht an HandleException weiterreicht, muss er doch selbst auf EAbort prüfen, oder?
|
Re: OnTerminate wird nicht ausgeführt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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