MFC 文档与视图的数据交互问题-工作线程的困惑
独上西楼 2013-03-03 08:51:24 大家好,小弟这里有个问题
//doc.h
class CMyDoc:public CDocument
{
CArray<CPoint,CPoint> m_ptArray;
}
//doc.cpp
void CMyDoc::OnStart()
{
AfxBeginThread(WorkThread,(LPVOID)this);
}
UINT WorkThread(LPVOID pParam)
{
CMyDoc *pDoc = (CMyDoc *)pParam;
int nCount =0;
while(nCount < MAX)//读取MAX个图片,处理结果(图像的中心点坐标)存放在data中。
{
pDoc->OnOpenDocument(filename);
Process(*data);
pDoc->m_ptArray.Add(pData);
pDoc->UpDateAllViews(NULL);
nCount++;
}
return 0;
}
//view.cpp
void MyView::DrawData(CDC*pDC)
{
CMyDoc *pDoc = GetDocument();
int x1,y1,x2,y2;
for(k=1;k<MAX;k++)
{
x1 = pDoc->m_ptArray.GetAt(k-1).x;
y1 = pDoc->m_ptArray.GetAt(k-1).y;
x2 = pDoc->m_ptArray.GetAt(k).x;
y2 = pDoc->m_ptArray.GetAt(k).y;
pDC->MoveTo(x1,y1);
pDC->LineTo(x2,y2);
}
}
void CMyView::OnDraw(CDC*pDC)
{
DrawData(pDC);
}
这个程序Release版本可以运行,但是Debug版本运行时出错,请问如何解决呢?翻阅很多帖子,都没给出合理的解决方法。请大侠们不吝赐教,造福后辈!感激涕零!