Einzelnen Beitrag anzeigen

grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#1

Objektreferenz als Paramter [gelöst]

  Alt 15. Jun 2012, 00:05
Tag!

Leider steh ich gerade ziemlich auf der Leitung - daher ein Hilferuf:
(Aja: Delphi7, WinXP, falls es interessiert)

ich möchte eine Referenz auf ein Objekt an ein anderes Objekt übergeben und diese Referenz dort speichern. Unter Umständen wird das Objekt aber erst nach dieser Übergabe erzeugt - geht das? Wenn ja, wo ist mein Fehler?

Schaut also so aus:

Code:
TKlasse1=class(TObject)
  <viele Variablen, Funktionen, Prozeduren und so>
end;

TKlasse2=class(TObject)
  <auch viele Variablen, Funktionen, Prozeduren und so>
  fKlasse1:TKlasse1;
  constructor Create(Klasse1:TKlasse1);
end;

constructor TKlasse2.Create(Klasse1:TKlasse1);
begin
  <blabla>
  fKlasse1:=Klasse1;
end;
und dann gibts da noch:
Code:
TForm1=class(TForm)
  <...>
  Klasse1:TKlasse1;
  Klasse2:TKlasse2;
  <...>
end;

<...>
  Klasse2:=TKlasse2.Create(Klasse1);
<...>
  Klasse1:=TKlasse1.Create;
Läuft's genau so ab, ist beim Create der Klasse2 die Klasse1 noch nil - und die Variable fKlasse1 in der Klasse2 bleibt auf ewig nil.
Ist die Klasse1 zum Zeitpunkt des Creates der Klasse2 schon erzeugt dann gehts.

Jetzt kann ich natürlich die Sache so umbauen, daß die Klasse2 immer vorher erzeugt wird - aber das ist im aktuellen Fall erstens nicht schön und zweitens interessiert mich, ob ich wirklich auf'm Schlauch steh oder ob das irgendwie geht...

Danke
Luggi

Geändert von grl (15. Jun 2012 um 11:50 Uhr)
  Mit Zitat antworten Zitat