Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.109 Beiträge
 
Delphi 12 Athens
 
#6

AW: Objektreferenz als Paramter

  Alt 15. Jun 2012, 12:20
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Jun 2012 um 12:24 Uhr)
  Mit Zitat antworten Zitat