在窗体中有在运行时动态生成的一些button,edit等控件,请问在关闭窗体时程序是否会自动释放这些动态生成控件占用的内存?还是要显示的用Destroy来释放?

解决方案 »

  1.   

    如果窗口释放了,窗口里的控件也释放了。
    Form1.Free;
      

  2.   

    如果你在创建的时候传给Create的参数是窗口,那么这个窗口释放的时候这些控件会自动释放;如果Create(nil),那么你需要手动释放:Button.Free。不要直接调用Destroy;
      

  3.   

    呵呵,不用担心其实是都会释放的,无论你的的Create函数中使用的是Self,还是Nil,只要你把控件显示出来了,最后都会被主窗体给释放掉的。
    不信我看源码。
      

  4.   

    这些控件的Owner或者Parent是窗体的话,窗体关闭时是会释放它们的.