Es ist so unerklärlich.
Typ
IInterface1 = Schnittstelle
Ende;
TCLASS1 = Klasse (TINTERNFACKEDObject, iInterface1)
Zerstörer zerstören;
Ende;
Tform1 = Klasse (tform)
Button1: Tbutton;
Prozedur Formcreate (Absender: Tobject);
PROCEDURE Taste1Click (Absender: Tobject);
Privat
{Private Deklarationen}
class1: iInterface1; // Beachten
öffentlich
{Öffentliche Erklärungen}
Ende;
Durchführung
{$ R *.dfm}
{Tclass1}
Destructor tclass1.Destroy;
Beginnen
ShowMessage ('zerstören!');
geerbt;
Ende;
procedure tform1.formcreate (Absender: tobject);
Beginnen
class1: = tclass1.create;
Ende;
procedure tform1.button1click (Absender: tobject);
Beginnen
class1: = nil;
// Wenn Klasse1 Klasse TCLASS1 ist, wird es nicht springen, um zu zerstören.
//Warum? Warum?
Ende;