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.