それは非常に不可解です。
タイプ
iinterface1 = interface
終わり;
tclass1 = class(tinterfacedobject、iinterface1)
破壊者はオーバーライドします。
終わり;
tform1 = class(tform)
Button1:Tbutton;
手順formcreate(sender:tobject);
手順button1click(sender:tobject);
プライベート
{プライベート宣言}
class1:iinterface1; //これはクラスtclass1ではなくインターフェイスiinterface1であることに注意してください。
公共
{公開宣言}
終わり;
実装
{$ r *.dfm}
{tclass1}
Destructor tclass1.destroy;
始める
showmessage( 'Destroy!');
継承;
終わり;
手順tform1.formcreate(sender:tobject);
始める
class1:= tclass1.create;
終わり;
手順tform1.button1click(sender:tobject);
始める
Class1:= nil; //ここにあり、構造を解決するために自動的にジャンプします。
// class1がクラスtclass1の場合、破壊するためにジャンプしません。
//なぜ?なぜ?
終わり;