错误日志--1 MFC,继承CDialog 崩溃

来源:互联网 发布:mac rar解压软件免费 编辑:程序博客网 时间:2024/06/01 09:47

今天,在写3D地图编辑器的时候。

单击修改属性菜单项的时候,崩溃了。

弹出这诡异的窗口。


首先,由于明确了出错的地方,直接在对应的事件处理函数打断点,进行单步调试。

void CDMapEditorView::OnModifySKmeshAttrib(){// TODO: 在此添加命令处理程序代码m_pNodeManager->SetMapState( MS_MODIFYSKMESHATTRIB );m_pSKMeshModifyPanel->LinkData( m_pNodeManager->GetSelectedSkMesh()->GetSkMeshData(),m_pNodeManager->GetSelectedSkMesh()->GetPosInfo() );m_pSKMeshModifyPanel->ShowWindow( SW_SHOWNORMAL );}

发现错误出在LinkData这句上,进入函数内部,发现了奇怪的现象。


m_MeshPosMovePowerBar是一个滑动条的控件变量,由窗体编辑器帮忙创建的,但是,在这里它的hWnd竟然是NULL,太诡异了这。

之后检查窗体编辑器,控件变量是确实的创建出来了。 

好吧,很诡异。突然想起来,之前这个对话框创建成了HTML对话框。可能是,这部分出了问题。没有完全的改为普通的对话框。

继续检查代码,这部分没有问题,所有的CHTMLDialog都改为了,CDialog。

此时陷入迷茫。。。。。。

然后无意中发现,onInitDialog()里面没调用CDIalog的onInitDialog ......好吧。

原来如此,于是直接删掉OnInitDialog,Bug解决。



0 0
原创粉丝点击