delphi中内存泄漏原理是什么,处理的方法呢?

解决方案 »

  1.   

    凡是你CREATE(NIL) 一定要记得FREE
      

  2.   

    凡是你CREATE(NIL) 一定要记得FREE
    这样你的内存就不会泄露了
    记得在窗体destroy的时候 释放你申请的内存
    比如
    aa := TStringList.create(nil); 这是你在定义的时候 
     
    在你的窗体Destroy的时候你可以加上这么一条语句来释放aa所占有的内存if aa <> nil then 
      begin 
        aa .free ;
        aa := nil ;
      end;
    这样你的内存几得以释放了 
    还有就是你动态生成控件的时候 也要记得用Free来释放内存
      

  3.   

    即使在函数内定义动态控件也要是这样吗?
    还有就是窗体以及窗体上的控件在close时不用处理吧?
    期待前辈的指点
      

  4.   

    只要是你在程序里面动态创建的控件,并且创建时指定它的Owner是nil,就得自己释放。一般放在FormClose里或者FormDestroy
      

  5.   

    TComponent提供了组件管理功能,所以只要有Owner(TComponent)就可以由它的owner来管理这个组件的释放
      

  6.   

    有些是delphi自动支持回收,但有些必须是自己手工释放的.