PostNcDestroy 中Delete this 抛出错误

PostNcDestroy 中Delete this 抛出异常!
 

如题 ,肯能是什么原因呢?

在CSOCKETdlg 中NEW!
C/C++ code


void CSOCKETDlg::OnDblclkTree(NMHDR* pNMHDR, LRESULT* pResult)
{
if((Hitem!=NULL) && (Flage & TVHT_ONITEM | TVHT_ONITEMRIGHT))
    {
        CTalkDialog *pDlg=new CTalkDialog(m_FileORTextSOCK,m_SockAddr); 
        pDlg->Create(IDD_DIALOG1,this);
        pDlg->ShowWindow(SW_SHOW);
    }
}



然后在:

C/C++ code

void CTalkDialog::PostNcDestroy()
{
    // TODO: 在此添加专用代码和/或调用基类
    delete this;
    CDialog::PostNcDestroy();
}




但是delete this;的时候抛出异常!  


请问什么原因!

------解决方案--------------------
改为
void CTalkDialog::PostNcDestroy()
{
// TODO: 在此添加专用代码和/或调用基类
 CDialog::PostNcDestroy(); 
delete this; //最后删除
 
}

------解决方案--------------------
探讨
改为
void CTalkDialog::PostNcDestroy()
{
// TODO: 在此添加专用代码和/或调用基类
CDialog::PostNcDestroy();
delete this; //最后删除

}

------解决方案--------------------
查查是不是CTalkDialog中做了其他的事情导致的
------解决方案--------------------
是不是你其他地方delete过了,检查一下
------解决方案--------------------
有控件没关系,你可以响应WM_CLOSE,然后在里面调用

CDialog::OnClose();
delete this;