我在CMainFrame.h中声明CDemo1View *m_view;然后 
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 

m_view->ProcessPendingRead1(); 
return 0; 

结果运行程序崩溃。在CMainFrame中这样调用View里面的成员函数怎么不行?应该怎么修改?谢谢!!

解决方案 »

  1.   

    CDemo1View *m_view = GetActiveView();
    然后使用m_view!!!!!
      

  2.   


    谢谢!!!编译出错:
    rror C2440: 'initializing' : cannot convert from 'class CView *' to 'class CDemo1View'
            No constructor could take the source type, or constructor overload resolution was ambiguous
    E:\MainFrm.cpp(129) : error C2819: type 'CDemo1View' does not have an overloaded member 'operator ->'
            E:\C_6.22\Demo1View.h(16) : see declaration of 'CDemo1View'
    E:\MainFrm.cpp(129) : error C2227: left of '->ProcessPendingRead1' must point to class/struct/union
      

  3.   

    CDemo1View *m_view = (CDemo1View *)GetActiveView(); 
    转换一下就可以了!!!!!
      

  4.   

    声明的指针是个空指针,用来调用成员函数肯定不行.用这个语句,
    CDemo1View * pView = (CDemo1View *)GetActiveView(); 
    把头文件#include "Demo1View.h"加进去
      

  5.   

    楼主你还需要先调用CFrameWnd::OnCreate()把视图窗口创建了才能用。
    然后再:CDemo1View * pView = (CDemo1View *)GetActiveView(); 
      

  6.   

    View窗口还没建立,不能操作。