問題:
在進行點擊按鈕彈出對話框時,我是用了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; }