在堆上生成的wxAuiManager内存泄漏(wxWidget2.9.1版本)

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
nastqutte
In need of some credit
In need of some credit
Posts: 1
Joined: Wed Sep 14, 2011 6:22 am

在堆上生成的wxAuiManager内存泄漏(wxWidget2.9.1版本)

Post by nastqutte »

近日编写AUI的应用程序,在主框架wxFrame构造函数中mgr = new wxAuiManager(this),在wxFrame的解析函数中调用mgr->Uninit().用vc6.0编译连接,在debug版本中运行明显地得到一堆内存泄漏,经过使用 _crtBreakAlloc定位内存泄漏的地方,发现是mgr没有得到释放。在wxFrame的解析函数中加入delete mgr后,内存泄漏得到解决。wxWidgets官方文档不是说new出来的框架类不需要我们主动delete,框架会在destroy时释放这些动态生成的类实例吗?查看了官方提供的sample里的auidemo,发现它是在栈上生成的。难道wxWidgets官方知道了wxAuiManager的问题,没有采用它自己推荐的new方法。在wxWidgets的官方文档中没有对这一问题的任何说明。这个内存泄漏问题困扰了我整整两天才得到解决,如果是wxWidgets的bug,希望wxWidgets能将这一问题写进文档中,避免用户发生同样的泄漏问题而不知所以。
sishui
Earned some good credits
Earned some good credits
Posts: 121
Joined: Mon Mar 10, 2008 6:13 am
Location: 中國

Re: 在堆上生成的wxAuiManager内存泄漏(wxWidget2.9.1版本)

Post by sishui »

如果我没记错,从wxWindow继承下来的 才不需要释放,wxAuiManager貌似没有从wxWindow继承吧?
work work!!!
Post Reply