请教Delphi ADODB 使用CheckMem检查时就发现有一个内存泄露?没有遇到过啊,你的代码呢?发上来看看?ADODB本身是相对成熟的控件了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是ADODB造成的内存泄漏呢 把源程序贴上,大家看看。非常简单的程序呀。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ADODB;type TForm2 = class(TForm) private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}end.program Project2;uses CheckMem in 'CheckMem.pas', Forms, Unit1 in 'Unit1.pas' {Form2};{$R *.res}begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm2, Form2); Application.Run;end.不加ADODB时,运行后CheckMem未检测到泄露,加上ADODB后, 不加任何代码,运行后CheckMem就会提示:===== Project2.exe,2009-12-7 16:44:52 ===== 可用地址空间 : 1280 KB(1310720 Byte) 未提交部分 : 0 KB(0 Byte) 已提交部分 : 1280 KB(1310720 Byte) 空闲部分 : 1277 KB(1307856 Byte) 已分配部分 : 2 KB(2460 Byte) 全部小空闲内存块 : 285 KB(292048 Byte) 全部大空闲内存块 : 251 KB(257664 Byte) 其它未用内存块 : 740 KB(758144 Byte) 内存管理器消耗 : 0 KB(404 Byte) 地址空间载入 : 0%当前出现 1 处内存漏洞 : 0) 0000000000E8B270 - 15250000($E8B250)字节 - 不是对象 我也遇到了这种情况,最终发现,新建一个工程,什么都不做,只要是加上adodb单元,最终都会报内存泄露 可用地址空间 : 1024 KB(1048576 Byte) 未提交部分 : 1008 KB(1032192 Byte) 已提交部分 : 16 KB(16384 Byte) 空闲部分 : 13 KB(13996 Byte) 已分配部分 : 2 KB(2056 Byte) 全部小空闲内存块 : 0 KB(248 Byte) 全部大空闲内存块 : 5 KB(5820 Byte) 其它未用内存块 : 7 KB(7928 Byte) 内存管理器消耗 : 0 KB(332 Byte) 地址空间载入 : 0%当前出现 1 处内存漏洞 : 0) 0000000000A52004 - 135($0087)字节 - 不是对象 Delphi7中的ComboBox无法显示sql server中返回的值 关于is 的用法,一直没有完全搞明白? 小问题谁帮我??? 托盘菜单问题 谁有用DELPHI做的编译器,给一个人我,100分全是他的. RichEdit2.0,Rxlib中RichEdit都不出鼠标右键菜单问题急 如何用query执行多条sql语句。 如果我想在delphi程序中调用net send着个命令,点做啊 贺马年!(送送送!!!...吗), 马上来,马上给! Delphi的升级程序? [ODBC Microsoft Access Driver]参数不足,期待是1 请教………关于搜索手机号所属区域的算法!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB;type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}end.
program Project2;uses
CheckMem in 'CheckMem.pas',
Forms,
Unit1 in 'Unit1.pas' {Form2};{$R *.res}begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
不加ADODB时,运行后CheckMem未检测到泄露,加上ADODB后, 不加任何代码,运行后CheckMem就会提示:
===== Project2.exe,2009-12-7 16:44:52 ===== 可用地址空间 : 1280 KB(1310720 Byte)
未提交部分 : 0 KB(0 Byte)
已提交部分 : 1280 KB(1310720 Byte)
空闲部分 : 1277 KB(1307856 Byte)
已分配部分 : 2 KB(2460 Byte)
全部小空闲内存块 : 285 KB(292048 Byte)
全部大空闲内存块 : 251 KB(257664 Byte)
其它未用内存块 : 740 KB(758144 Byte)
内存管理器消耗 : 0 KB(404 Byte)
地址空间载入 : 0%当前出现 1 处内存漏洞 :
0) 0000000000E8B270 - 15250000($E8B250)字节 - 不是对象
可用地址空间 : 1024 KB(1048576 Byte)
未提交部分 : 1008 KB(1032192 Byte)
已提交部分 : 16 KB(16384 Byte)
空闲部分 : 13 KB(13996 Byte)
已分配部分 : 2 KB(2056 Byte)
全部小空闲内存块 : 0 KB(248 Byte)
全部大空闲内存块 : 5 KB(5820 Byte)
其它未用内存块 : 7 KB(7928 Byte)
内存管理器消耗 : 0 KB(332 Byte)
地址空间载入 : 0%当前出现 1 处内存漏洞 :
0) 0000000000A52004 - 135($0087)字节 - 不是对象