1、在dlg类中手动增加析构函数,在析构函数中释放内存。

(1)在头文件的类声明中,添加析构函数声明

class CTestDlg : public CDialog

{

public:

virtual ~CTestDlg();//析构函数声明,virtual可写可不写。

}

(2)在cpp文件中添加西沟函数定义

CTestDlg::~CTestDlg()

{

//add your code

}

2、添加消息响应函OnDestroy()函数(消息WM_DESTROY的响应函数)

窗口关闭时,程序会首先抛出消息WM_DESTROY,所以可以直接在OnDestroy()中释放内存。

另,从CDialog的源码.它也只是判断了一下句柄,然后调用DestoryWindow发送WM_DESTROY消息,所以只要你在消息响应函数OnDestroy里处理就可以了.

CDialog::~CDialog()
{
if (m_hWnd != NULL)
{
TRACE(traceAppMsg, 0, "Warning: calling DestroyWindow in CDialog::~CDialog --\n");
TRACE(traceAppMsg, 0, "\tOnDestroy or PostNcDestroy in derived class will not be called.\n");
DestroyWindow();
}
}

补充:

虚析构函数:

1、程序会先调用派生类的析构函数,再调用基类的析构函数。

2、如果基类的析构函数声明为虚函数,由该基类所派生的所有派生类的析构函数都自动成为虚函数(即使派生类的析构函数与基类的析构函数名字不相同)

窗口关闭后释放内存的方法相关推荐

  1. CHtmlView, 页面载入快播播放器时, 窗口关闭后, 出现内存访问失败的问题

    如果遇到关闭带网页的窗口后,崩溃的问题,可以 1. 打开about:blank空白页 2. ShowWindow(SW_HIDE); 3. SetTimer设置定时器,在定时器里关掉窗口 ------ ...

  2. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  3. 如何手动释放linux内存的方法,centos手动释放内存的方法

    CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本.每个版本的 CentOS都会获得十年的支持(通过安全更新方式).接下来是小编为大家收集的cento ...

  4. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  5. linux手动释放内存的方法

    Linux手动释放缓存的方法 Linux释放内存的命令: sync echo 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同 ...

  6. delphi dispose释放内存的方法

    dispose使用方法的简单介绍在本文末尾. 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大 设置 ReportM ...

  7. linux回收内存的方法,linux释放内存的方法

    Linux 释放内存方法 先看看内存使用状况 [root@node1 ~]# free -m total used free shared buffers cached Mem: 8004 6557 ...

  8. python线程执行完后释放内存_python变量内存地址释放与加速并行计算多线程

    1.导入numba和gc包进行并行计算和内存释放 代码如下很容易的: #coding:utf-8 import time from numba import jit, prange, vectoriz ...

  9. 电脑扫描文件怎么弄_彻底清除手机垃圾文件,释放内存的方法

    目前在市面上的手机,配置都特别的高了,内存64GB,128GB基本都是标配了,但各种APP种类繁多,手机内存却并不能满足大家使用需求,内存总是不够用. 几乎所有人的手机都安装有QQ,微信等软件,而这些 ...

最新文章

  1. 日常积累的一些linux和运维的东西 [转]
  2. c++ opencv2 libtorch 读取预训练权重并进行预测 linux
  3. 【开发环境】Mac 中删除 Python ( 删除 Python 框架 | 删除 Python 应用程序 | 删除 Python 链接 )
  4. BZOJ 3033 太鼓达人
  5. Mybatis Generator 逆向生成器
  6. mysql锁表与不锁表设置主从复制的方法
  7. 道了 14 年歉的扎克伯格,继续犯错的 Facebook
  8. Mysql安装相关问题
  9. python使用CV2剪切图片
  10. oracle创建数据库实例
  11. word表格跨页断行不起作用
  12. FMI飞马网 | 【线上直播】如何处理好横向关系 在协同与合作中实现双赢(下)
  13. android phone 模块分析
  14. phabricator 结合 arcanist 使用
  15. 公司信贷基础知识介绍
  16. MATLAB新手简明使用教程(六)——使用matlab求解定积分和不定积分的问题——新手来看,保证看懂。
  17. 计算机蓝屏安全模式都启动不了,stop:0x00000074蓝屏无法进入安全模式无法开机 解决办法...
  18. 随机数的生成【详解】
  19. Cesium geojson 移除
  20. 如何才能提高自己未来的竞争力?

热门文章

  1. 舟山市高新技术企业申报奖励补助、认定条件以及申报好处汇总
  2. 如何重构J2EE应用程序以使用 ring功能
  3. 学计算机需要笔记本嘛,大学生入学后,新生有必要买电脑吗?听完学长的建议再做打算...
  4. [Android分享] Android ListPreference的用法
  5. 命令完成android应用签名详细步骤
  6. 2020中国跨境消费报告:“小镇辣妈”“熟龄单身姐姐”“百万年薪大佬”都买啥?...
  7. 企业域名注册手续_注册无区域域名公司核名步骤条件
  8. SAP FI 基础概念总结
  9. 新建springboot项目启动后自动停止
  10. 从联想收购IBM PC到中国举办奥运想到的