CDHtmlDialog作为子窗口时提示AfxIsValidAddress错误

时间:2022-05-22 20:21:46
当CDHtmlDialog的父窗口是child类型时,当然, CDHtmlDialog本身也是child时,
在程序开始添加
    AfxEnableControlContainer();
    AfxOleInit();
在创建CDHtmlDialog时, 会出现
if (bResult && (m_nFlags & WF_OLECTLCONTAINER))
{
                m_pCtrlCont->m_pSiteFocus = NULL;  // 这里指针报错
CWnd* pWndNext = GetNextDlgTabItem(NULL);
if (pWndNext != NULL)
{
pWndNext->SetFocus();   // UI Activate OLE control
bResult = FALSE;

}
}
如果在创建CDHtmlDialog前添加
        InitControlContainer();
程序会正常运行, 但是在父窗口中按任意键会出现
_AFXCOLL_INLINE void*& CPtrList::GetNext(POSITION& rPosition) // return *Position++
{ CNode* pNode = (CNode*) rPosition;
ASSERT(AfxIsValidAddress(pNode, sizeof(CNode))); // 提示这个断言
if( pNode == NULL )
AfxThrowInvalidArgException();
rPosition = (POSITION) pNode->pNext;
return pNode->data;
        }
这是在vs2008上出现的问题, vs2005上没有, 救助各位大师了啊

2 个解决方案

#1


该回复于2013-01-24 09:49:00被管理员删除

#2


你确定 vs05没有!

#1


该回复于2013-01-24 09:49:00被管理员删除

#2


你确定 vs05没有!