GetFirstDocTemplatePosition()返回NULL

时间:2013-12-23 12:06:23

标签: visual-c++ mfc activex ocx

我有一个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_pDocManagerNULL。为什么这是NULL我不明白。

请提供您宝贵的建议

0 个答案:

没有答案