![]() |
speicher freigeben
Hallo Zusammen,
habe mal folgende Frage. Wenn ich eine Prozedur habe, wie hier:
Delphi-Quellcode:
ist dann automatisch wenn die Prozedur durchgelaufen ist, der Speicher für die Var buttonSelected wieder freigegeben oder muss ich es vor Ende der Prozedur selber machen?
//Anwendung beenden mit Abfrage vorweg
procedure THauptForm.ProgrammBeenden1Click(Sender: TObject); var buttonSelected : Integer; begin // Show a confirmation dialog buttonSelected := MessageDlg('Wollen Sie das Programm wirklich beenden?',mtConfirmation, mbOKCancel, 0); // If confirm close the application if buttonSelected = mrOK then Close; end; |
Re: speicher freigeben
Du musst diese Variable nicht selbst wieder freigeben. Die Aufräumarbeiten am Ende der Prozedur macht Delphi schon. Lediglich Objekte die du selbst erzeugt, müssen von Dir selbst auch wieder freigegeben werden. Bei nativen Typen wie Integer-Zahlen ist das nicht erforderlich.
|
Re: speicher freigeben
danke für die Antwort!
|
Re: speicher freigeben
Zitat:
|
Re: speicher freigeben
meines wissens wird der speicher nach dem beenden von den gesammten programm wieder freigegeben.
Es läuft ja im System eh alles was du an speicher für eine anwendung reservierst unter einem prozess, der ja dann beendet wird... |
Re: speicher freigeben
Andernfalls wäre das eine ziemlich effektive Methode, den Computer unbenutzbar zu machen.
|
Re: speicher freigeben
Trotzdem sollte man sich grundsätzlich daran gewöhnen IMMER alle selbst erzeugten Objekte wieder frei zu geben.
So gewöhnt man sich an einen guten Programmierstil. Ich habe es schon oft genug erlebt, daß mir gesagt wurde "Das Programm wird eh nur kurz geöffnet, die Funktionalität ausgeführt und danach beendet. Wen juckt es, ob ein Objekt freigegeben wurde oder nicht". |
Re: speicher freigeben
sicherlich keine frage...
gerade wenn man große anwendungen programmiert und viel zwischen den Units rumspringt ist es wichtig immer alles wieder freizugeben! |
Re: speicher freigeben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 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