Thema: Delphi Echter Objektcontainer?

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Echter Objektcontainer?

  Alt 8. Aug 2005, 15:52
Miep := TMiep.Create(); Die Instanz von TMiep liegt jetzt irgendwo im Heap rum, Miep ist nur ein Zeiger darauf.
TObjectList hat TList als Vorfahren, das heißt es wird das reingeworfene Objekt als einen untypisierten Pointer in die PointerList von TList werfen.
Das ändert aber nix daran, dass es weiterhin ein Pointer auf die Instanz ist.
Ob du nun 5.000 neue Pointer darauf irgendwo anlegst interessiert das Objekt selbst herzlich wenig.

Tyrael hat zwar schon was dazu geschrieben, aber nunja...


Nachtrag: Wir sind hier immer noch in Delphi32, nicht in .Net.
Also wird hier kein unbenutztes Objekt per GC zerstört.
An Adresse 0815 (wobei Miep eigentlich nur die 0815 enthält, und dadurch auf die Instanz zeigt...) steht die TMiep Instanz, was immer du auch machst, solange du es nicht freigibst bleibt sie dort stehen.
  Mit Zitat antworten Zitat