MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决

问题:

在进行点击按钮弹出对话框时,我是用了new来生成一个新的对话框,但是在新对话框关闭的时候,经过检查发现,新对话框存在内存泄漏问题。

原因:

因为使用了new,但是当时没有找到地方进行delete,所以出现了delete。

解决:

在Oncancle()函数上添加:

 

DestroyWindow();

delete this;

就可以解决这个问题,之前只在Oncancle()函数中加入了delete()函数,导致还是存在内存泄漏的提示,经过查资料,不光要delete,还要在delete前面加入销毁。

void C*****Dlg::OnBnClickedButton1()
{
       // TODO: 在??此??添???加??控?件t通???知a处?|理???程??序??代???码?
       C******Dlg *pDlg = new C*****Dlg;
       pDlg->Create(IDD_******R,this);
       pDlg->ShowWindow(SW_SHOW);
}

Oncancle()

void C******Dlg::OnBnClickedCancel()
{
       // TODO: 在??此??添???加??控?件t通???知a处?|理???程??序??代???码?
       CDialogEx::OnCancel();
       DestroyWindow();
       delete this;

}
时间: 2024-08-26 05:14:16

MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决的相关文章

JavaScript基础 window.open(url,name,options) 弹出一个 新窗口 屏幕居中显示 获取屏幕的有效宽度

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

如果一个promise永不resolve,会内存泄漏吗

答:跟内存泄漏没有直接关系gc的策略不会改变,如果该promise没有被人引用,就会被gc掉.如果仍被引用,就不会被gc掉.即使一个promise,resolve或者reject了,但是它还被人引用,仍然占用内存. 李政 2015/11/19 16:28:39嗯差不多,可以认为promise就是一个普通的对象,不过在vm底层会由host提供一些机制来托管promise.比如chrome的调试器里可以看到所有的promise李政 2015/11/19 16:28:56比如node里面通过nextT

js-弹出一个新窗口 新窗口自动转接到一个页面然后自动关闭

这个问题.好. 在百度问问找到的:他的做法是打开一个后通过实例对象,再进行一将跳转,最后再将JS里定时将实例对象关闭... 这个问题其实不需要两个页面,只要三行JS代码就能实现,除非你在2.php里面还要做些文章.下面例子为打开新窗口,转到google,5秒后关闭. <script type="text/javascript">var popup = window.open('', '');popup.location.href='http://www.google.com

Android集成一个新产品时,lunch的product name和device name注意事项

Android系统lunch一个当前的Product大概流程包括下面几个部分: 1. lunch确定TARGET_PRODUCT.一般位于vendor/device/build/target/product中的vendorsetup.sh脚本来定义分别有user/eng/userdebug. 2. 开发check product的合理性. 通过载入vendor/device/build/target/product中的AndroidProduct.mk文件,记录其包括的各个.mk文件以及其所在的

当你创建一个新项目时...有很多需要注意的地方哟

1.Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件 一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了. 为什么xcode6没有自动创建pch文件呢? 简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间.没有了Prefix Header

Ex 5_22 在此我们基于以下性质给出一个新的最小生成树算法..._第九次作业

(a)设环的顶点集为V, e(u,v)为权最重的边,若把V分成两部分V1,V2.其中V1包含u,V2包含v,因为V是一个环,因此,至少存在两条把u和v连接起来的边.因此,除了e之外,至少还存在另一条边把u和v连接起来,所以必存在某个不包含e的最小生成树. (b)该算法每次都删除环中权最大的边,由题中的性质可知,该算法是正确的. (c)若图是一个连通图,则利用深度优先遍历则可以生成一颗包含所有顶点的深度优先搜索树.若图不是一个连通图,则利用深度优先遍历并不能访问所有的顶点.因此设e的两个顶点为u,

jQuery中在当前页面弹出一个新的界面

W.$.dialog({ content:'url:wswgrkbillController.do?snh&id='+b+'&bh='+c+'&ck='+d+'&sl='+e,(路径) title : 'SN号', width : 1200, height : 500, }).zindex();

谷歌浏览器打开一个新页面时使用新的标签

设置 --- 高级--- 打开代理 ? 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论 原文地址:https://www.cnblogs.com/lovebing/p/10894885.html

删除数据时弹出一个确认对话框

使用js实现点击按钮删除数据时弹出一个确认是否删除的对话框: <input type="button" class="wz2 btn" value="删除" onClick="sc('{$vo.name}','__URL__/delete?aid={$vo.id}')"/> <script type="text/javascript"> function sc($name,$ulr)