Ini sangat tidak dapat dijelaskan.
jenis
Iinterface1 = antarmuka
akhir;
Tclass1 = class (tinterfacedObject, iinterface1)
Destructor menghancurkan;
akhir;
Tform1 = class (tform)
Button1: tbutton;
Prosedur FormCreate (pengirim: Tobject);
Prosedur Button1Click (pengirim: Tobject);
Pribadi
{Deklarasi Pribadi}
Kelas1: iinterface1; // Perhatikan bahwa ini adalah antarmuka iinterface1, bukan kelas tclass1, tclass1 tidak memiliki masalah ini
publik
{Deklarasi Publik}
akhir;
Pelaksanaan
{$ R *.dfm}
{Tclass1}
Destructor tclass1.destroy;
Mulai
Showmessage ('Destroy!');
diwariskan;
akhir;
Prosedur TFORM1.FORMCREATE (Pengirim: Tobject);
Mulai
class1: = tclass1.create;
akhir;
Prosedur TFORM1.BUTTON1CLICK (Pengirim: Tobject);
Mulai
Class1: = nil; // Di sini, secara otomatis akan melompat untuk menyelesaikan struktur.
// Jika Class1 adalah kelas TClass1, itu tidak akan melompat untuk menghancurkan.
//Mengapa? Mengapa?
akhir;