第二回打开非模态对话框时出错

第二次打开非模态对话框时出错
创建非模态对话框:
BOOL CurveControl::Create()
{
return CDialog::Create(CurveControl::IDD);
}

然后用DestroyWindow()销毁对话框。

第二此再打开对话框,调用Create()时,就会出错

但是只有在Debug模式下才会出错,Release模式下则不会。

求高手指点呀!!

------解决方案--------------------
你怎么调用的DestroyWindow?调用是Win32 API的还是CWnd::DestroyWindow()呢?
------解决方案--------------------
说不上没有delete ?
View delete了,CDialog没啊
------解决方案--------------------
模态对话框每次调用完都要把它销毁:
CWnd::DestroyWindow();
否则再次调用肯定要出错的。虽然你把窗口关了,但它仍占据每寸还在运行,在任务管理器中可以看到。所以调用完要销毁它,释放内存。
------解决方案--------------------
我觉得最简单的方法是声明一个指针,用之前delete 

m_dlg1要在初始化为NULL

void CTstDisableDlg::OnButton4() 
{
// TODO: Add your control notification handler code here

if (m_dlg1)
{
delete m_dlg1;
}

m_pdlg1 = new Dlg1;
m_pdlg1->Create(IDD_DIALOG1);

}

------解决方案--------------------
CurveControl *p;
这个指针delete了没有呢