为何TObject的Create和Destory方法都没有实现代码?

解决方案 »

  1.   

    create中主要是初始化各数据成员,申请对象的需要的资源,或创建内部包含的对象。
    TObject没有需要处理的数据或对象,所以不用实现代码。
      

  2.   

    参见inside VCL
    说的已经很详细了
      

  3.   

    可能是不同的人考虑问题的出发点不同。
    即使那两个方法是空的,delphi编译器依然在背后做了很多事。
      

  4.   

    编译器在create前插入以下汇编代码test dl,dl
    jz +$08
    add esp,-$10
    call @classcreate  //system单元中的_classcreate在free后,插入以下代码完成对对象本身的空间的回收call @beforedestruction
    test dl,dl
    jz +$05
    call @classdestroy //
      

  5.   

    Destory好像实现了,子类一般这样写:destructor destroy;override;destructor 类名.destructor;
    begin
    .......
     inherited destroy;
    end;