Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Speicher wieder freigeben
Nano-Ware - Do 12.04.12 11:12
Titel: Speicher wieder freigeben
Hey,
ich brauche manchmal temporäre Objekte vom Typ TMyClass und erzeuge sie deshalb nur für eine Prozedure bzw Funktion (unter dem Kopf im var-Teil). Sobald die Funktion durchgelaufen ist, brauche ich die Variable nicht und möchte, dass der Arbeitsspeicher wieder freigegeben wird. Muss ich dann bei jedem Objekt .Free schreiben oder macht Delphi das automatisch?
Sry dass ich so viel Frage, aber wenn ich die Antwort wüsste, bzw rausbekommen könnte würde ich nicht fragen.
Danke für die Antworten.
bummi - Do 12.04.12 11:14
Wenn Du keine Interfaced Klasse erstellst musst Du sie freigeben
Nano-Ware - Do 12.04.12 11:23
Und Interfaced Klasse bedeutet was? :D
Sinspin - Do 12.04.12 18:40
Was spricht dagegen ordentlich zu programmieren und einen Ressourcenschutzblock zu nehmen und diesen odentlich zu verwenden?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure example; var sl: TStringList;
begin sl := TStringList.Create; try finally sl.Free; end; end; |
Interfaces mögen zwar erstmal verlockend klingen sind in den meißten Fällen die Mühe aber nicht wert.
bummi - Do 12.04.12 18:42
@Sinspin
Ich mag sie auch nicht, aber er kommt aus der Java Ecke und da muss man sich um derartiges nicht kümmern.
Sinspin - Do 12.04.12 19:46
bummi hat folgendes geschrieben : |
@Sinspin
Ich mag sie auch nicht, aber er kommt aus der Java Ecke und da muss man sich um derartiges nicht kümmern. |
Ich habe mir früher für C auch mal via
#define die geschweiften Klammern in
begin und
end umdefiniert. Aber was bringt das? Dafür das einem der Müll weggemacht wird gibt es ganze andere Sachen die in Delphi ohne großes Theater gehen in Java aber eine Weltumschiffung erfordern. Ich erinnere mich da gut an ordentlich scalierbare Anwendungen oder meine Versuche auf Dlls zuzugreifen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!