谢谢

解决方案 »

  1.   

    我认为:不会,而且这样会导致内存泄漏http://lysoft.7u7.net
      

  2.   

    对于值类型是这样的,如Integer, boolean等等;如果是引用类型的,如数组,类的实例,需要手动释放;
      

  3.   

    var
       s:TExample;
    begin
       s:=TExample.create.
    在上面s其实只是一个指针(不信用sizeof(s)试一下),他指向堆中一块内存。所以如果s是一个过程或函数中的局部变量,那么在该过程或函数调用结束后s变量(注意不是他指的那块内存)会被销毁,但对象所占的空间依然是存在的。如果不在函数或过程中显示释放的话,就会出现内存泄漏!
    至于接口,那要看你的_release()是自己实现的,还是从TInterfacedObject继承过来的,如果是后者的话就会干预对象的生命周期!(见《Inside VCL》)
      

  4.   

    只纠正楼主的一个说法:不是创建类,而是创建对象。声明、定义一个类,可以说是“创建类”:
    TxxClass = (...)
    private
      ...
    end;