Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#2

AW: OOP-Verständnisfrage: Destroy zerstört auch Ursprungsobjekt?

  Alt 21. Mär 2018, 22:35
Funktionierte dennoch zur Zufriedenheit,
Offenbar doch nicht so ganz...

Warum reißt die Destroy-Methode des vom ersten Objekt abgeleiteten Objektes auch das erste Objekt mit in den Abgrund?
Weil das StackEmulator.Create() dir die Instanz StackEmulator zurückgibt. Das ist somit gleichbedeutend mit StackEmulator2 := StackEmulator . Du hast damit zwar zwei Variablen, aber nur eine Instanz. Machst du die kaputt, zeigt die andere Variable auf die nun nicht mehr gültige Instanz.

Im Gegensatz erzeugt TStackEmulator.Create() eine neue Instanz und gibt diese zurück.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat