0xcccccccc也不是有效值啦,你看一看就知道,debug时未初始化的指针一般就是这个值。
你在这一行,((CXs1App*)AfxGetApp())->m_pTemplatetj是NULL,估计未初始化。

解决方案 »

  1.   

    在构造函数中初使化:
    m_pTemplatetj = new CDocTemplate(ID_DOCRESOURCE,CYourDocClass,CYourFrameClass,CYoutViewClass);
    其中:
    CYourDocClass public : CDocument
    CYourFrameClass public : CFrameWnd
    CYourViewClass public: CView(or CXXXView)
    ID_DOCRESOURCE指一个ID值,该文档使用的menu, icon, accelerator table, string resources都共用这个ID值。比如IDR_MAINFRAME
      

  2.   

    In355Hz(好象一条狗)解释的很好.
    展开ASSERT_VALID宏,你可以看到它实际上很复杂,做了很多事.
    在显示时对一个有问题的DC指针,一用ASSERT_VALID(pDC)就把pDC置0,这也是安全考虑嘛.
    总之你那个0xcccccccc根本就不是有效值,你没有初始化APP的成员变量m_pTemplatetj,
    这个0xcccccccc是编译器为你搞的值,嘻嘻