Zitat von
Alfonso:
Hallo,
muss ich eine Klasse freigeben
Nein, kannst Du gar nicht :-p
Sorry, bin grad etwas im Klugscheissmodus, aber Klassen kann man gar nicht freigeben, weil sie ja 'nur' der Bauplan für konkrete Instanzen, also die Objekte sind.
Um die Frage richtig zu interpretieren:
Ja, Du musst ein Objekt welches Du in einer Methode instanziert hast auch wieder freigeben.
Lokale Variablen wie strings, Ganz- oder Fließkommazahlen werden von Delphi selber erzeugt und wieder freigegeben, aber Variablen die Objekte beherbergen sind für Delphi nur Zeiger. Der Speicherplatz für den Zeiger wird zwar erzeugt und auch automatisch freigeräumt, nicht jedoch der Speicher, auf den dieser Zeiger zeigt.
Will heissen wenn Du ein Objekt erzeugst und einer lokalen Variablen zuweist, so reservierst Du den Speicher und nach dem beenden wird der Zeiger auf diesen Speicher weggeworfen, Du hast also Speicher angefordert, bekommst aber hinterher nie mehr heraus, wo denn dieser Speicher liegt um ihn zurückzugeben. Das nennt sich Speicherleck und sollte idealerweise vermieden werden.