إنه أمر لا يمكن تفسيره.
يكتب
iinterface1 = واجهة
نهاية؛
tclass1 = فئة (tinterfacedObject ، iinterface1)
المدمرة تدمير.
نهاية؛
tform1 = فئة (tform)
Button1: Tbutton ؛
Formcreate الإجراء (المرسل: TOBJECT) ؛
الإجراءات button1click (المرسل: tobject) ؛
خاص
{إعلانات خاصة}
Class1: iinterface1 ؛ // لاحظ أن هذا هو واجهة iInterface1 ، وليس الفئة Tclass1 ، Tclass1 ليس لديه هذه المشكلة
عام
{الإعلانات العامة}
نهاية؛
تطبيق
{$ r *.dfm}
{tclass1}
Destructor tclass1.destroy ؛
يبدأ
ShowMessage ('Destroy!') ؛
ورث
نهاية؛
الإجراء tform1.formcreate (المرسل: tobject) ؛
يبدأ
class1: = tclass1.create ؛
نهاية؛
الإجراء tform1.button1click (المرسل: tobject) ؛
يبدأ
Class1: = nil ؛
// إذا كان class1 هو فئة tclass1 ، فلن يقفز للتدمير.
//لماذا؟ لماذا؟
نهاية؛