一个多文档的程序CMyTitle,有四个子窗口CMyNewView1,CMyNewView2,CMyNewView3,CMyNewView4.
分别对应四个文档类CMyNewDoc1,CMyNewDoc2,CMyNewDoc3,CMyNewDoc4.
我在窗口左边加了一个树状菜单来对应每个子窗口,
然后我在CMyNewDoc1中定义一个链表CObList m_ObList1;
然后在CMyNewView1的OnDraw()函数中调用
CMyNewDoc1* pDoc = GetDocument();
ASSERT_VALID(pDoc);
来获得文档指针,但是程序一运行到CMyNewDoc1* pDoc = GetDocument();
CMyNewDoc* CMyNewView::GetDocument() // non-debug version is inline
{
(1) ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyNewDoc)));
return (CMyNewDoc*)m_pDocument;
}
执行(1)时就出现Debug Assertion Failed错误。请问是怎么回事啊?
分别对应四个文档类CMyNewDoc1,CMyNewDoc2,CMyNewDoc3,CMyNewDoc4.
我在窗口左边加了一个树状菜单来对应每个子窗口,
然后我在CMyNewDoc1中定义一个链表CObList m_ObList1;
然后在CMyNewView1的OnDraw()函数中调用
CMyNewDoc1* pDoc = GetDocument();
ASSERT_VALID(pDoc);
来获得文档指针,但是程序一运行到CMyNewDoc1* pDoc = GetDocument();
CMyNewDoc* CMyNewView::GetDocument() // non-debug version is inline
{
(1) ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyNewDoc)));
return (CMyNewDoc*)m_pDocument;
}
执行(1)时就出现Debug Assertion Failed错误。请问是怎么回事啊?
CMyNewDoc1* pDoc = (CMyNewDoc1*)GetDocument();
ASSERT_VALID(pDoc);
在后面调用CMyNewDoc1中的链表m_ObList1
POSITION pos = pDoc->m_NETObList.GetHeadPosition();
所得的pos居然不等于NULL!
我并没有在m_ObList1添加任何东西啊,在单文档里面用就好好的。
在线等!