首页 > 代码库 > MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决

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; }

 

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