Forum: Programmieren allgemein
by BerndS,
9. Mär 2023
Ich habe mir nun doch die Mühe gemacht und den Ablauf mal genauer debugt.
Ich habe mal Haltepunkte in
constructor TLightweightEvent.Create
und
destructor TLightweightEvent.Destroy
gesetzt.
Ohne TTask.Run wird Create und Destroy wird jeweils einmal aufgerufen.
Forum: Programmieren allgemein
by BerndS,
9. Mär 2023
@WiPhi
Ja, das habe ich mal getestet indem ich DLLShutdown im finalization hinzugefügt habe. Das wurde dann auch ausgeführt, hat aber das Speicherleck nicht beseitigt.
Das Freigeben erfolgt im ShutdownThreadPool in der System.Threading auch im class destructor TThreadPool.Destroy.
Damit ist das RegisterDLLShutdown im initialization eigentlich überflüssig.
Ich benötigte das TTask.Run nur...