Zitat von
sx2008:
Objekt-Variablen sind in Delphi Zeiger (Referenzen).
Delphi-Quellcode:
constructor Txyz.Create(GridName : TNextGrid);
begin
inherited Create; // nicht vergessen!!
FPrivVariable := GridName;
end;
Das Objekt das im Parameter GridName übergeben wird schon existieren bevor ein Objekt der Klasse Txyz erzeugt wird.
Delphi-Quellcode:
var
ng : TNextGrid;
xyz : Txyz;
begin
ng := TNextGrid.Create();
xyz := Txyz.Create(ng);
xyz.Irgendwas();
....
xyz.Free;
ng.Free; // Reihenfolge ist wichtig
Wichtig ist, dass das Objekt
ng aus obigem Beispiel eine längere Lebensdauer als
xyz hat!
Das heißt also, das FPrivVariable nur mit dem Wert der Adresse von ng belegt wird, während ng die Anfangsadresse der Objektes und damit des Speicherbereiches ist?
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.