Zitat: |
Application.Terminate; |
Etwas sanfter geht's mit: HauptForm.Close.
Unterschiede zwischen Close/ Application.Terminate / Halt
Close() schliesst die aktuelle Form. Wenn die aktuelle Form
das Hauptformular ist (oder Close von der Hauptform aufgerufen wird), wird die gesamte Anwendung geschlossen.
Dies ist eigentlich die normale Methode, eine Anwendung zu
beenden. Denn sowohl die OnCloseQuery und OnClose Ereignisse der Form werden dann ausgelöst. Auch der Code in der Finalization
Sektion wird ausgeführt.
Application.Terminate verursacht, dass die Nachrichtenschleife
der Applikation beendet wird und es werden alle Formulare "zerstört".
Sowohl die OnCloseQuery und OnClose Ereignisse der Form werden dann <i>nicht</i> ausgelöst, OnDestroy aberschon.
Auch der Code in der Finalization Sektion wird ausgeführt.
Halt() ist die brutalste Methode, eine Applikation zu beenden.
Es verwendet ExitProcess() um den Prozess zu beenden, ohne
sich darum zu kümmern, Form-Objekte freizugeben.
Keine der Ereignisse OnCloseQuer/ OnClose/ OnDestroy werden ausgelöst. Der Code in der Finalization wird aber ausgeführt.
Mit Halt() sollte eine GUI-Anwendung nie beendet werden,
ausser wenn's anders nicht mehr geht.