// CMyDialog inherits from CDialog
void CMyFrame::OnBnClickedCreate()
{
CMyDialog* dlg = new CMyDialog();
dlg->Create(IDD_MYDIALOG, m_thisFrame);
dlg->ShowWindow(SW_SHOW);
}
我敢肯定,這泄漏。我真正要問的是:MFC中是否有任何「魔術」,當對話被銷燬時會進行對話清理。如果dlg不是一個指針而是在堆棧中聲明的話,它會如何工作 - 當dlg超出範圍時,析構函數是不是會銷燬該窗口。這是在MFC內存泄漏
謝謝。我忘了說這是一個無模式對話框。我假設在這種情況下清理對話框對象必須是一個成員變量 - 所以它可以在框架析構函數中銷燬/取消分配。 – Richard 2009-06-03 11:10:15