query 对应的数据源关掉就可以了例如 query1 对应的数据源为 ds
ds.dateset.open
....ds.dateset.close;
每打开一次 就要关闭一次 在内存中就不会滞留

解决方案 »

  1.   

    free完了,记得 Query := nil;
    :)
      

  2.   

    啊?这么复杂?呵呵……看样子我的程序一堆内存泄漏!delphi不会这种问题也要我们来做吧。控件都不自己解决?
      

  3.   

    我觉得不大可能,除非是你的程序有问题,或delphi有问题像winder_008(风中追沙)说的也不大可能,因为真是释放次数少于打开次数出错的话,应在程序中就有了。
      

  4.   

    query1.close;  就行了,,,,,
      

  5.   

    若是靜態,上面兄弟的方法應該行;
    若是動態;則要try...finally Query1.Free; end;沒問題啊
      

  6.   

    close能解决内存释放的问题吗?我觉得不太对头。还是nil更象一点
      

  7.   

    主要你将query1.close 这样可以将内存释放.
      

  8.   

    先谢过楼上的,楼上说得我都试了一下,free和close都不行(已经用了try..finally)只有winder_008(风中追沙)说得倒是可以实现,不过关dataset好像太麻烦了,不知哪位高人还有别的方法?
      

  9.   

    Query1.close;
    若动态创建的话,要free,Query1.unprepare;Query1:=nil;