我做了一个DLL,在这个DLL中使用了文档和视图,可是我现在无法像以前一样在视图中通过GetDocument来获得文档的指针,请问各位高人如何解决这个问题!!!!

解决方案 »

  1.   

    定义 GetDocument()为输出函数
      

  2.   

    我在GetDocument那里跟踪了一下,发现在this中hwnd=???
    这是什么原因呀
      

  3.   

    指针没有初始化?
    在GetDocument()之前看一下或之内看一下啊。
      

  4.   

    to  broadoceans(broadoceans) :
    我是在view的OnDraw中调用GetDocument函数的,如果把GetDocument屏蔽掉,窗口可以正常的显示出来
      

  5.   

    发代码到[email protected],我帮你调试,估计不是这里的问题
      

  6.   

    无语清风:
    我已经发到你的邮箱里,请看
    thanks
      

  7.   

    我是在view的OnDraw中调用GetDocument函数的,如果把GetDocument屏蔽掉,窗口可以正常的显示出来从以上可以看出,可能是你的窗口初始化没有结束,
    所以我建议你有一个布尔变量在OnDraw中使得GetDocument()开始时不执行。
    等窗口显示后,调用Invalidate(),再让其执行GetDocument().
      

  8.   

    to broadoceans:
    好象不是个问题
      

  9.   

    我是在view的OnDraw中调用GetDocument函数的,如果把GetDocument屏蔽掉,窗口可以正常的显示出来
    OnDraw时,窗口可能还没有创建完成,先判断窗口句柄是否有效再调用
      

  10.   

    在你的UI界面调用完OnDraw()函数之后在调用你的GetDocument()函数,如果你在OnDraw()中调用GetDocument函数的话,可能程序还没来得及初始化,窗口也没有创建完成。所以导致你
    的hWnd为空!个人的一点建议!
      

  11.   

    if( ::IsWindow(this->m_hWnd)
    {
      //执行
    }pt
      

  12.   

    to vcforever:
    现在如果生成了视图,然后再调用另一个函数去调用文档,也不行