本来直接用程序编的可以用,包括打开、保存都功能正常,
但是引入到ocx中在别的程序中打开还可以打开word界面,但保存就没有办法,在GetIDispatch()一步没办法执行,大虾们帮帮忙,这是为什么?

解决方案 »

  1.   

    现在我可以明确是这一句的问题,下面还有没有我就不知道了,但是这是为什么?
    LPDISPATCH COfficeCntrItem::GetIDispatch()
    {
     ASSERT_VALID(this);  
     ASSERT(m_lpObject != NULL);   
     LPUNKNOWN lpUnk = m_lpObject;   //我可以确认是在这一步出错,但下面还有没有我就不知道了
     Run();   
     LPOLELINK lpOleLink = NULL;  
     if (m_lpObject->QueryInterface(IID_IOleLink, (LPVOID FAR*)&lpOleLink) == NOERROR)   
     {   
      ASSERT(lpOleLink != NULL);   
      lpUnk = NULL;       
      if (lpOleLink->GetBoundSource(&lpUnk) != NOERROR)    
      {    
       AfxMessageBox("Warning: Link is not connected!");    
       lpOleLink->Release();    
      return NULL;
      }   
      ASSERT(lpUnk != NULL);   
     }   
     LPDISPATCH lpDispatch = NULL;  
     if (lpUnk->QueryInterface(IID_IDispatch, (LPVOID FAR*)&lpDispatch)!=NOERROR)   
     { 
    AfxMessageBox("Warning: does not support IDispatch!");   
      return NULL; 
      
     }
     ASSERT(lpDispatch != NULL);  
     return lpDispatch; }
      

  2.   

    为什么m_lpObject一引用到就出错????谁能告诉我?!!!!!!!!!!!
      

  3.   

    darkbug(飞虫)兄,我也很着急啊,你的代码我还是在看,但还是很多弄不懂啊。
    我也急需解决这个问题。唉,好烦啊。
      

  4.   

    stonex_2000(三棱镜) :
    我的QQ是46036971,可以交流交流,
    不过我最近被这问题整死了,就剩两天时间了不行的话就没希望了。。