S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #1 在一个长时间运行的程序中,由于各种原因,频繁的创建ADO控件,频繁的释放ADO控件,造成了内存泄漏,程序运行一段时间后,发现程序所占有的内存不断增加,请问如何解决这个问题 请不要告诉我,避免重复创建和释放,希望能有其他的解决方法。多谢了
在一个长时间运行的程序中,由于各种原因,频繁的创建ADO控件,频繁的释放ADO控件,造成了内存泄漏,程序运行一段时间后,发现程序所占有的内存不断增加,请问如何解决这个问题 请不要告诉我,避免重复创建和释放,希望能有其他的解决方法。多谢了
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #2 有时 运行不了多长时间就会出错或出异常或程序自动退出
Y yuqiu0527 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #3 是不是打开数据集没关闭啊,是不是用到定时器了,频繁的刷新数据库啊,用的数据库是什么啊,创建索引了吗?
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #4 access 我是在dll里创建 的 一般创建后, 然后运行一个sql语句,然后就 freeandnil 我现在测试的是1秒创建 and free
A aerobull Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #5 你觉得你的测试代码没问题?我敢肯定,ADO肯定没这问题。
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #6 我2天,可能创建 14万个 adoquery 然后 销毁 14万个 不知道这样的创建量,会有问题吗?
A aerobull Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #8 140万都没问题。只要你能确保正确的free. 唯一担心的就是中间出错,导致无法正确的free.
T tianxin7131 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #9 为何不先建一个ADO 模板,再进行调用和Free,楼主有试这个方法吗,我不建议频繁地创建和Free。
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #10 为何不先建一个ADO 模板,再进行调用和Free] ------------------------------ 那我也要频繁的创建吧
L lxw5214 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #11 找个调试工具如:Eurekalog调试看看是哪里泄漏
W ww20000309 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #13 为什么要频繁的创建呢。如果是为了更改查询可不可以经常的打开、关闭呢 例: procedure querysql(sql:tstrings) { if adoquery1.active then adoquery1.close; adoquery1.sql.clear; adoquery1.sql.assgin(sql); aoquery1.open; }
为什么要频繁的创建呢。如果是为了更改查询可不可以经常的打开、关闭呢 例: procedure querysql(sql:tstrings) { if adoquery1.active then adoquery1.close; adoquery1.sql.clear; adoquery1.sql.assgin(sql); aoquery1.open; }
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #14 不能用一个ado ,因为我以前试过了,我的数据量很多,如果全用一个,几个小时就会出问题,必须分开做,而且到后期,我可能1次查询几十万条,如果一直是一个的话,问题可想而知啊。
T take2007 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #16 不能用一个ado ,因为我的数据量很多,如果全用一个,几个小时就会出问题,为什么会出现这种情况呢?
D dennyshao001 Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #17 以前我也碰到过ADO内存泄漏,不过现在已经解决了.主要是因为ADO打开以后,不断的添加数据引起的. 还有你可能在几个线程中同时使用一个ADO线程引起的"几个小时就会出问题,"
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #19 dennyshao001,?? 那你后来怎么解决的呢?
S sbzldlb Unregistered / Unconfirmed GUEST, unregistred user! 2007-10-29 #20 我的数据操作全部是在一个线程里完成的 数据量很大,1分钟可能要128条数据,可能更大 而且要即时的检查数据,所以我要频繁的创建销毁数据控件 不知道大家是怎么解决这个问题的呢