Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - New(), TObject.create -> Free, Dispose() ?
Delete - Sa 12.02.05 10:46
Titel: New(), TObject.create -> Free, Dispose() ?
Hallo,
wenn ich ein Objekt so erzeuge:
Delphi-Quelltext
1: 2:
| New(PMyObject); PMyObject^ := TMyObject.Create; |
und dieses dann mit
freigebe, kann ich doch auf das
verzichten oder?
Danke im Vorraus!
tommie-lie - Sa 12.02.05 12:19
Nein, mit New erzeugst du genug Platz für eine Objektreferenz, anschließend erzeugst du das Objekt. Mit Free gibst du nur den Speicher für das Objekt wieder frei, der Speicher für die Objektreferenz ist immer noch allokiert und muss mit Dipose freigegeben werden.
Aber du solltest die Gedanken über das Ganze machen, du hast da nämlich einen Pointer auf einen Pointer, also ein bisschen doppelt gemoppelt. Eigentlich braucht man in Pascal keine Pointer auf Objekte.
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!