Trotzdem wollte ich wissen, was ich da vermurkst hab - es war wohl einfach schon ein bischen spät gestern.
Zitat:
Delphi-Quellcode:
Klasse2:=TKlasse2.Create(Klasse1);
<...>
Klasse1:=TKlasse1.Create;
Es wird der Inhalt in der Variable Klasse1 kopiert, also die Referenz darin. (
TKlasse2.Create(Klasse1);
bzw.
fKlasse1:=Klasse1;
)
Später tauschst du den Inhalt dieser Variable aus (
Klasse1:=...
)
und wunderst dich darüber, daß in der alten Kopie was anderes drinsteht?
Lösung:
Delphi-Quellcode:
Klasse1:=TKlasse1.Create;
Klasse2:=TKlasse2.Create(Klasse1);
oder eben die Objektreferenz erst dann übergeben, wenn sie existiert. (via Prozedur/Funktion oder Property, wie bereits genannt)