CMyDocument::OnOpenDocumnet("c:\mypath\myfile");

解决方案 »

  1.   

    我试过了,不行。
    报错:olelink.cpp  line 291
    查了一下:(olelink.cpp 第291行)
    CDocTemplate* pTemplate = GetDocTemplate();
    ASSERT_VALID(pTemplate);
      

  2.   

    我的模板定义:
    pDocTemplate = new CMultiDocTemplate(
    IDR_MENUTYPE,
    RUNTIME_CLASS(CIVRMenuEditorDoc),
    RUNTIME_CLASS(CChildFrame), // custom MDI child frame
    RUNTIME_CLASS(CIVRMenuEditorView));
    pDocTemplate->SetContainerInfo(IDR_MENUTYPE_CNTR_IP);
    pDocTemplate->SetServerInfo(IDR_MENUTYPE_SRVR_EMB,
                            IDR_MENUTYPE_SRVR_IP,
                            RUNTIME_CLASS(CInPlaceFrame));
    AddDocTemplate(pDocTemplate);

             m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
      

  3.   

    CFile file;
    file.Open("C:\\mypath\\myfile",CFile::read);
    关键是要把路径写成“...\\...\\"的形式,看清除了,中间是双斜杠。
    用吧,一定成功!!
      

  4.   

    我跟踪了一下,发现是在
    BOOL COleLinkingDoc::OnOpenDocument(LPCTSTR lpszPathName)
    {
     。
    if (!RegisterIfServerAttached(lpszPathName, FALSE))//这一句出错!

    }
      

  5.   

    To: guanjinke(纶巾客)
    我是通过CFileFind来获得文件路径的,不会错。
      

  6.   

    另外:我不是用CFile file;file.Open().
    我想实现的是象点击File|Open来打开文档那样的功能。
      

  7.   

    用CWinApp::OpenDocumentFile(lpszFileName)
      

  8.   

    就是在App类中响应这一动作,然后直接用OpenDocumentFile(lpszFileName)
      

  9.   

    to: HoverInTheSky(泡泡) 
    我刚试过,OK!
    这就给分。