GDI资源泄露中!(50分)

  • 主题发起人 主题发起人 cee
  • 开始时间 开始时间
C

cee

Unregistered / Unconfirmed
GUEST, unregistred user!
我的软件出现了内存泄露,现简化过程为:

有一个TreeView1,它的CustomDraw事件是
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node=Treeview1.Selected then
Treeview1.Canvas.Font.Style:=Treeview1.Canvas.Font.Style+[fsBold];
end;
试着在上面改变选择的结点并移动几下鼠标,就会发现使用的GDI资源莫名其妙地增加了!

这是我用Win2000的任务管理器测出的。这是不是Delphi的bug,还是我做得不对?

 
我也遇到过,安装delphi5补丁了吗?
 
我发现在多处有这样的Bug.试试dfsextListView,它的资源管理是独立的.
 
to wolf_cyj: 不知道Delphi还有什么其它的bug,害人不浅呀
to cAkk: 没有安装Delphi补丁,回去就装
to barton: dfsextListView...没听说过; 而且我的是TreeView,不是ListView
 
我觉得一碰到点问题就把责任推到Delphi身上首先是对Delphi不公平,其次也不是一个程序员
应该有的态度。
 
to jiaofu: 听起来有些道理,但应该具体问题具体分析。这个问题我安装了Service Pack1后就解决了,证明的确是Delphi的问题。
to cAKK: 多谢,已经解决。
to barton: 您还在哪些地方发现有bug,说来听听?我的程序中还有少量的GDI资源泄露,不知是哪里的错误。(程序太长了)
 
我也是,而且也是和customdraw有关,delphi的补丁解决了大部分问题,但好像
还有一些小bug. :-(
 
多人接受答案了。
 
后退
顶部