本人在EVC中读取DXF文件,直接在菜单栏里添加的消息响应:
void CNXFReadDoc::OnReadDxf()
{
CFileDialog dlg(true,NULL,NULL,NULL,_T("DXF(*.dxf)|*.dxf||"));
if(dlg.DoModal() == IDOK)
{
m_dxfFile = new CReadDxfFile();
FILE *fp=NULL;
CString sPath;
sPath = dlg.GetPathName();
fp=_tfopen(sPath,_T("r"));//
m_dxfFile->DxfReadData(fp);
}
InvalidateRect(NULL,NULL,true);//能正确读出DXF信息,但是调试到此处无法进入消息映射
//即文件读完后,消息不能响应DispachMessage
}CallStack中内容如下:
CNXFReadDoc::OnReadDxf() line 107 ///////*此处出现错误,运行时出现Assertion Failed afxwin2.inl,109**//////
_AfxDispatchCmdMsg(CCmdTarget * 0x000d2b20 {CCmdTarget}, unsigned int 32771, int 0, void (void)* 0x00011041 CNXFReadDoc::OnReadDxf(void), void * 0x00000000, unsigned int 12, AFX_CMDHANDLERINFO * 0x00000000) line 97
CCmdTarget::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 311 + 39 bytes
CDocument::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 1024 + 24 bytes
CView::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 181 + 33 bytes
CFrameWnd::OnCmdMsg(unsigned int 635049, int -1, void * 0x160cf960, AFX_CMDHANDLERINFO * 0x00055145) line 1083 + 33 bytes
CWnd::OnCommand(unsigned int 393666, long 1) line 2282
CFrameWnd::OnCommand(unsigned int 369949252, long 254222) line 374请大侠相助!!!!!
void CNXFReadDoc::OnReadDxf()
{
CFileDialog dlg(true,NULL,NULL,NULL,_T("DXF(*.dxf)|*.dxf||"));
if(dlg.DoModal() == IDOK)
{
m_dxfFile = new CReadDxfFile();
FILE *fp=NULL;
CString sPath;
sPath = dlg.GetPathName();
fp=_tfopen(sPath,_T("r"));//
m_dxfFile->DxfReadData(fp);
}
InvalidateRect(NULL,NULL,true);//能正确读出DXF信息,但是调试到此处无法进入消息映射
//即文件读完后,消息不能响应DispachMessage
}CallStack中内容如下:
CNXFReadDoc::OnReadDxf() line 107 ///////*此处出现错误,运行时出现Assertion Failed afxwin2.inl,109**//////
_AfxDispatchCmdMsg(CCmdTarget * 0x000d2b20 {CCmdTarget}, unsigned int 32771, int 0, void (void)* 0x00011041 CNXFReadDoc::OnReadDxf(void), void * 0x00000000, unsigned int 12, AFX_CMDHANDLERINFO * 0x00000000) line 97
CCmdTarget::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 311 + 39 bytes
CDocument::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 1024 + 24 bytes
CView::OnCmdMsg(unsigned int 32771, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 181 + 33 bytes
CFrameWnd::OnCmdMsg(unsigned int 635049, int -1, void * 0x160cf960, AFX_CMDHANDLERINFO * 0x00055145) line 1083 + 33 bytes
CWnd::OnCommand(unsigned int 393666, long 1) line 2282
CFrameWnd::OnCommand(unsigned int 369949252, long 254222) line 374请大侠相助!!!!!
解决方案 »
- 我下面列子代码有2次创建窗体,那2个窗体是什么关系,如何设置窗体颜色
- IE下的BHO,如何截取Internet Explorer_Server窗口创建的消息?
- 送分了 100
- 请教:OnDraw函数在以View为基类的函数中,初始化会自动执行;但是在以ListView为基类的函数中却不执行,这是啥原因?
- dll中的函数传参数std::string的问题
- 请问可否让VC6的IDE使用GNU的编译器来编译C程序?
- 100分求教:程序中怎样控制程序界面的隐藏和最大化,处于窗口激活?
- 刚才帮人up了一下,居然真给了专家分,我以后再也不干这种事了。
- 申请了一网站
- 我该如何做??大分奉送!!
- 求助,关于设置文件(目录)权限的问题
- CreateProcess 启动游戏的时候 一闪而过。
new了个对象也要删除吧?
InvalidateRect(NULL,NULL,true);//能正确读出DXF信息,但是调试到此处无法进入消息映射
这行后...
_AFXWIN_INLINE void CWnd::EndPaint(LPPAINTSTRUCT lpPaint)
{ ASSERT(::IsWindow(m_hWnd)); ::EndPaint(m_hWnd, lpPaint); }