VC++的模态和非模态对话框的问题

VC++的模态和非模态对话框的问题

在我的一个程序里,一个对话框有不同的使用情况,一个是用模态的方法DoModal来显示和运行,很正常,从未出错。

在另一种情况下,用非模态Create的方法来运行,但是总是随机的出现oledisp2.cpp的124行错误

BOOL COleDispatchDriver::CreateDispatch(LPCTSTR lpszProgID,
COleException* pError)
{
ASSERT(m_lpDispatch == NULL);

// map prog id to CLSID
CLSID clsid;
SCODE sc = AfxGetClassIDFromString(lpszProgID, &clsid);
if (FAILED(sc))
{
    if (pError != NULL)
        pError->m_sc = sc;
    return FALSE;
}

// create with CLSID
return CreateDispatch(clsid, pError);

}
124行是ASSERT(m_lpDispatch == NULL);

你怎么创建的?把代码发一下