Einzelnen Beitrag anzeigen

schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#5

Re: Obj. über Construcor übergeben und in priv. Var. speiche

  Alt 8. Jan 2010, 19:21
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.
  Mit Zitat antworten Zitat