![]() |
AW: Windows tötet Delphi-Anwendung noch vor Unit-Finalisierung
Zitat:
// 1. Update Und mein Verdacht erhärtet sich! Wenn ich in meinem
Delphi-Quellcode:
das Hauptformular abbaue, wird die Anwendung von Windows gekillt. Er scheint wirklich zu meinen "So, sind ja alle Fenster weg, können wir hier ja zumachen". Ein einfaches Form1.Destroy() reicht schon, alles danach wird nicht mehr ausgeführt!
WM_ENDSESSION
Was ist nun wenn wir das Hauptformular nicht zerstören? Wie ![]() Zitat:
Delphi-Quellcode:
Was geschieht dann? Alles was ich möchte. Die Anwendung wird ordentlich beendet, die Dinge im finalization-Abschnitt der Unit werden ausgeführt und der Klassendestruktor auch. War es doch so einfach? :wiejetzt::party:
destructor TForm1.Destroy;
begin if (Application.MainForm = self) then // do nothing else inherited; end; // 2. Update Und die Bestätigung ist wohl auch da. Die Anwendung geht reproduzierbar tot wenn ich beim Herunterfahren nur sage
Delphi-Quellcode:
Tja, die
WinApi.Windows.DestroyWindow(Form1.Handle);
![]() Zitat:
Hätte ich Idiot ausnahmsweise mal die Kommentare auf der MSDN-Seite weiter unten geleasen. Ein werter Herr bestätigt exakt meine Erlebnisse: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 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 by Thomas Breitkreuz