ADODB 内存泄漏 ( 积分: 50 )

  • 主题发起人 主题发起人 wangpinggang
  • 开始时间 开始时间
W

wangpinggang

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi7中
uses
adodb,db
不做任何事情,就一个空窗体,也会提示内存泄漏(用CheckMem检查)
 
怎么没人回答, 自己顶
真的很着急, 大家帮帮忙了
 
CheckMem这个东西,就是往窗口里放几个控件,生成的都说内存泄露,真搞不懂..
 
我用adodb做的数据库,每秒种都要写入16条数据(每条4个float类型),要求至少连续运行一个月,结果不到一天,我512M的内存就消耗完了,不知道为什么,原用vb开发的没有这问题。
?????
 
可以用FastMM监测内存泄漏,准确度很高
---------------------------------------------------------------------------------------http://www.waibaoinfo.com 外包信息网 - IT界专业的外包项目信息发布和承接平台
 
测试了一天,主要泄漏不在数据库操作,不知道是不是延时函数Delay
或另一个过程造成的(有记录类型),明天继续。
Delay(500)处于线程的死循环中

begin

……
while truedo
begin

……
Delay(500);
……
end;

……
end;

若真是Delay泄漏,那用什么来延时???


procedure Delay(MSecs: Longint);
var
FirstTick, NowTick: Longint;
begin

FirstTick := GetTickCount;//获取结束计数值
repeat
Application.ProcessMessages;
Sleep(1);
NowTick := GetTickCount();
until (NowTick-FirstTick >= MSecs) or (NowTick<FirstTick);
end;
 
adodb是有内存泄漏
我们这数据量比你大的多,都没有出问题,用adodb组件
应该是代码有问题
 
经过几天查找,找到了问题,有一个strings类型在某一个可能的条件中Create后没有FreeAndNil。对整个程序又作了一次可能类似错误的全盘检查,现在一天大概丢5M内存。
 
后退
顶部