内存泄漏了。。求救。刷子造成的,,。。

zlhjd   2007-11-23 18:55 楼主
我是新学wince的,。。我想做 一个敲方块的游戏。。但当我用HBRUSH刷子CreateSolidBrush 函数时发现内存泄漏了。。。越来越慢。。后来死了。。各位大侠。。帮帮忙。。。我不是一遇到这个问题就问的。。我琢磨了很久。。。希望大家指点一下。。我的同事说用mfc甚么的。。但 我没用过 ,。。大家 或者 介绍一些书给我。。好吗?、。。谢谢。。。下面是主要泄漏的程序。。。用sdk。。。(中间的都省略了。。)。。。谢谢大家了。。
        HBRUSH hbrOld;
        HBRUSH hBrush;

        hBrush = (HBRUSH) CreateSolidBrush (RGB(255,255,0));
        hbrOld = (HBRUSH) SelectObject (hdc, hBrush);
       
           Rectangle(hOffscreenDC,rectCli.left,rectCli.top,((rectCli.right-rectCli.left)*2)/3+20,rectCli.bottom);
        SelectObject (hOffscreenDC, hbrOld);
       
       DeleteObject(hBrush);

回复评论 (3)

问题确实很严重!!!你的HDC调用乱成一团。
点赞  2007-11-23 19:42
嗯。。我是自学的。。。所以真的很乱。。。可以指导一下吗?。。谢谢。。这个小问题我弄了很久了。。和郁闷。。可以指点一二吗?。。非常感谢、、。。。
点赞  2007-11-23 19:45
问题解决了。。。是我自己手误。。。我晕死了。。一发帖就好了。。。^_^。。。但是还是要谢谢nbcool的鼎力支持。。。其实就是 你提醒了我。。谢谢你了。。。

只要把hbrOld   =   (HBRUSH)   SelectObject   (hdc,   hBrush);
改成
hbrOld   =   (HBRUSH)   SelectObject   (hOffscreenDC,   hBrush);

就好了。。。。看来我的基础是在不行。。要恶补了。。。缓存区没弄好。。。唉。。。菜。。
点赞  2007-11-23 20:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复