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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM