是Delphi 5的BUG? OR 我的失误? (28分)

  • 主题发起人 主题发起人 zxp_ping
  • 开始时间 开始时间
Z

zxp_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
我现已找出,下面ListView的画代码上占了资源没有释放,导致程序,系统出错,请大家
指出是要如何释放,还是要如何做,。?
代码:
procedure TfrmServer.ListComputerCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
    if (ListComputer.ViewStyle = vsreport) then
    begin
        DefaultDraw:=false;
        if (cdshot in state) and ((GetAsyncKeyState(VK_LBUTTON) and $8000)<>0) then
        begin
            ListComputer.Canvas.Font.Color:=clBlue;
            ListComputer.Canvas.Brush.Color:=clDkGray;
        end;
        DefaultDraw:=true;
    end;   

end;
 
这好像没有什么分配资源???
 
对了,但用Memproof观察,发现其Font数一直在直线上升,只要执行这事件就加一个,直到
一千都个的时候,实在运行不起来了,,,
 
象Delphi 5中DEMOs里的Virtual Listview也存在这样的问题,。。用久了,资源不足。。
内存不足。。对话框都很大,很大。
 
找到了:大家看:
http://www.dataweb.nl/~r.p.sterkenburg/generated/entry0587.htm
 
但是他给的方案还是解决不了问题。?
 
如果哪位富翁能解决的话,不妨告诉我。先谢了!
 
请看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=394581

一个Treeview, 一个ListView,应该是属于同一问题。所以结论是,安装补丁包。
 
多谢,果然可以了。
 
后退
顶部