你怎么知道没有释放?释放并不意味着将占用的内存清零,而是挂到空闲队列上。
控件的内存释放一般不需要我们自己操心。我相信Borland。

解决方案 »

  1.   

    可能是你的线程没杀光,还有线程在活动.或者用户定义的内存未释放!
    如果你还怀疑listview未释放记录的话.
    可以手工在form.close中listview1.free一下.看看如何!如果再不行,那就delete 所有item看看.我估计你读取10000条记录,如果多线程,那个线程还在读呢!
    你说的listview未释放,我也觉得可能性不大.如果我上面的方法还不能确定原因,那就是栈溢出了,退出时报错.最后也有可能(不大可能):delphi本身对很多item时处理有bug.
      

  2.   

    使用listview  vsReport 模式下读取大量数据时,程序退出后,不能正常释放,我认为有两种情况:
    1、在使用ListView读取大量数据时,你的程序中有异常情况,你得考虑异常情况的处理;
    2、delphi中的listView读取大量数据时,存在着bug;
      

  3.   

    没有试过,但可以试试这个!ListView1.item.clear;