最近在WIN32平台下于CDialog上使用了CHtmlView这个控件,但是随后而来的就是程序在退出或者是在该CHtmlView窗口释放之后莫名其妙的崩溃。
我的类:
class CDIYAD: public CHtmlView{
}
对基本类CHtmlView一点都没改动。
出现这样的情况大概率是使用不正确导致的释放问题,
经过查证在释放该窗口之前应做这样的操作来避免释放不完全导致的崩溃:
字段:CDIYAD m_wndMessageAds;
在OnDestroy中(或要释放时):
if(m_wndMessageAds != NULL)
{
CFrameWnd* pFrame = m_wndMessageAds->GetParentFrame();
if (pFrame != NULL)
pFrame->SetActiveView(NULL); //务必加入这个操作来
delete m_wndMessageAds;
m_wndMessageAds = NULL;
}
即可解决此问题