我有一个MFC来显示图形数据。我创建了OCX,以便在另一个应用程序中显示图形。在Normal exe我有一个右键单击弹出菜单来做一些操作。但是当我在另一个应用程序中使用OCX时,当我右键单击应用程序崩溃时。我通过调试得到了如下细节,
POSITION pos = AfxGetApp()->GetFirstDocTemplatePosition();
// here GetFirstDocTemplatePosition() returns NULL so the below line crashes.
CDocTemplate* doc_template = AfxGetApp()->GetNextDocTemplate(pos);
我无法理解为什么GetFirstDocTemplatePosition()返回NULL。我为exe和OCX创建了单独的MENU。单独的资源文件。 例如: 我的应用程序是MyGraph然后我为OCX和resource_ocx.h创建了MyGraphOCX.sln,为OCX创建了MyGraphOCX.rc。
POSITION CWinApp::GetFirstDocTemplatePosition() const
{
if (m_pDocManager == NULL)
return NULL;
return m_pDocManager->GetFirstDocTemplatePosition();
}
此处m_pDocManager
为NULL
。为什么这是NULL我不明白。
请提供您宝贵的建议