![]() |
Beenden von Programmen
weiss einer wo der unterschied ist bei:
Delphi-Quellcode:
application.terminate;
Delphi-Quellcode:
und dem normalen Beenden über das Schließ X oben rechts?
close;
|
Re: Beenden von Programmen
Close schließt nur die Form.
Application.Terminate hingegen die ganze applikation. Wenn du auf "X" klickst, wird auch nur das Close der Form aufgerufen |
Re: Beenden von Programmen
also wird ein programm nicht aus dem RAM gelöscht wenn man nur mit close schließt, habe ich das richtig verstanden?
|
Re: Beenden von Programmen
Nun ja, kommt drauf an welche Form du mit Close schließt, ist es die Application.MainForm, wird auch nur Application.Terminate aufgerufen.
Delphi-Quellcode:
procedure TCustomForm.Close;
var CloseAction: TCloseAction; begin if fsModal in FFormState then ModalResult := mrCancel else if CloseQuery then begin if FormStyle = fsMDIChild then if biMinimize in BorderIcons then CloseAction := caMinimize else CloseAction := caNone else CloseAction := caHide; DoClose(CloseAction); if CloseAction <> caNone then if Application.MainForm = Self then Application.Terminate else if CloseAction = caHide then Hide else if CloseAction = caMinimize then WindowState := wsMinimized else Release; end; end; |
Re: Beenden von Programmen
Mit Form.Close des Hauptformulares wird das Programm sauber beendet, und die übrigen Ereignisroutinen abgearbeitet.
Bei Application.Terminate würden nur die OnDestroy-Routinen verarbeitet, soweit vorhanden, aber nicht, z.B., OnCloseQuery und OnClose. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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