COleControlSite释放出错
编译环境VC8,使用微软的MTMDI建立了一个界面多线程浏览器框架,同时通过 重载 CreateControlSite 函数
*ppSite = new CCustomControlSite(pContainer); // CCustomControlSite 继承了 COleControlSite
实现了对于Chtmlview的控制,如果正常运行的时候,发现没有任何问题,但是如果使用 OnNewWindow2中 将
*ppDisp = pLastView->GetApplication()后在关闭的时候将出现严重问题,状况为 关闭 OnNewWindow2 打开的相关联的窗口,在关闭最后一个的时候出现访问冲突错误,错误跳转到 occsite.cpp 的析构函数~COleControlSite中的 m_pObject->SetClientSite(NULL);如果不重载 CreateControlSite 函数,或者不用界面多线程 则不会出现此种情况
个人分析为 COleControlSite 对象的释放错误,OnNewWindow2 打开的系列窗口之间可能存在某种联系,导致在自动释放 CCustomControlSite 对象的时候引起冲突
但是目前没有找到解决方法,请各位指教。