CDialog::Create()创建非模态对话框框,若未销毁造会成内存泄露的解决办法
来源:互联网 发布:中国政治改革知乎 编辑:程序博客网 时间:2024/06/04 19:25
CDialog::Create()创建非模态对话框框,若未销毁造成内存泄露,代码如下:
CTestView类中有成员变量CSetDBSource* m_SetDBSource;,CSetDBSource的基类为CDialog,
m_SetDBSource = new CSetDBSource;
m_SetDBSource->Create(IDD_SETDB_DLG,this);
m_SetDBSource->ShowWindow(SW_SHOW);
程序退出时提示如下信息:
Detected memory leaks!
Dumping objects ->
e:\code\GMP\TestView.cpp(879) : {563} client block at 0x0BA91028, subtype c0, 1432 bytes long.
a CTestView object at $0BA91028, 1432 bytes long
Object dump complete.
原因是:非模态对话框Create之后未销毁导致内存溢出。
解决办法:
为CTestView类添加DestroyWindow()函数,并添加如下代码即可:
m_SetDBSource->DestroyWindow();
delete m_SetDBSource;
注意一定要:先调用m_SetDBSource的DestroyWindow()函数销毁窗口,再释放m_SetDBSource = new CSetDBSource;申请的内存空间。
0 0
- CDialog::Create()创建非模态对话框框,若未销毁造会成内存泄露的解决办法
- CDialog 非模态对话框的创建和销毁
- Andriod注册广播而未销毁引起的内存泄露
- 浅谈VC中CDialog的创建,存活与销毁。
- 创建一个CDialog对话框与对话框销毁
- CString内存泄露的解决办法
- x264内存泄露的解决办法
- Handler内存泄露的解决办法
- 未分页内存泄露
- APR内存池的创建与销毁
- 记录今天 CDialog Create 失败的原因,
- Activity已销毁,创建的线程未回收问题
- Activity已销毁,创建的线程未回收问题
- ExtJs发布大量内存泄露的解决办法
- Java内存泄露的理解与解决办法
- Handler引起的内存泄露及解决办法
- Andorid 常见的内存泄露及解决办法
- 模态对话框的销毁过程与非模态对话的几种销毁方法
- IOS申请真机调试详解
- Java之归并排序算法(一)
- bjfuOJ 1124奶奶的红包(谈递推与递归)
- How to install BigBlueButton 0.9.0-beta
- 学习笔记:Caffe上配置和运行MNIST
- CDialog::Create()创建非模态对话框框,若未销毁造会成内存泄露的解决办法
- VS2010生成exe在别的机子上运行提示“丢失MSVCR100D.dll”
- Jquery中$.ajax()详解
- Android Context 上下文 你必须知道的一切
- 闲聊CSS之关于clearfix--清除浮动
- OpenGL ES像素着色器教程
- Android源代码分析(三) MediaScanner源码分析(下)
- 插件开发中常用的监听方式
- dubbo学习过程、使用经验分享及实现原理简单介绍