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

今天,在写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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值