vc++常见断言错误总结

vc++常见断言错误总结

ID:37900236

大小:43.50 KB

页数:4页

时间:2019-06-02

vc++常见断言错误总结_第1页
vc++常见断言错误总结_第2页
vc++常见断言错误总结_第3页
vc++常见断言错误总结_第4页
资源描述:

《vc++常见断言错误总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、断言所在函数具体位置意义ASSERT(m_hWnd==NULL)CWnd::Attach()WINCORE.CPP文件中的第320行这个断言通常可能是由于试图把一个已经捆绑(attach)过的窗口捆绑在其他的对象上,只能有一个MFC对象能够捆绑到一个窗口上--不然,消息映射就会不正常ASSERT((dwStyle&WS_POPUP)==0)CWnd::Create()WINCORE.CPP文件中的第747行起因是由于使用Create()函数时试图赋予WS_POPUP风格没,但是不支持的,想要这种风格应该用CreateEx()函数ASSERT(pMap!=NULL)CWnd::Destroy

2、Window()WINCORE.CPP文件中的第969行起因是在消息映射还没有激活的时候就关闭或是析构窗口ASSERT(cs.style&WS_CHILD)CWnd::PreCreateWindow()WINCORE.CPP文件中的第733行原因是使用了WS_CHILD风格,对于没有子窗口,最好用CFrameWnd而不要用CWndASSERT(m_bitmap.m_hObject!=NULL)CBitmapButton::DrawItem()WINBTN.CPP文件中的第107行原因是在位图未加载前,试图画一个位图按钮而引起程序出错ASSERT(this!=NULL)CObject::Is

3、KindOf()OBJCORE.CPP文件的第43行一旦IsKindof()被一个无效的由CWnd派生的对象调用,就会产生这个断言。它说明对象没有初始化过(比如NULL指针),或是内存先前出了故障。ASSERT(!pDX->m_bSaveAndValidate)AFXAPIDDX_Control()DLGDATA.CPP文件的第624行调用UpdateData()或是UpdateData(TRUE)之前至少要调用一次UpdateData(FALSE),否则就会出现这个断言ASSERT(FALSE)CDataExchange::PrepareCtrl()DLGDATA.CPP文件的第43行通

4、常的原因是释放了一个同数据交换变量关联的控件ASSERT(::GetWindowLong(hWndCtrl,GWL_STYLE)&WS_GROUP)ASSERT(value==-1)AFXAPIDDX_Radio()DLGDATA.CPP文件的第308和325如果这个调用针对的对象不是一个组中的第一个单选按钮,或者对组中任何一个按钮调用了不止一次,就会引起这个断言。只是第一个按钮可以有WS_GROUP窗口风格。用ClassWnzard时,如何想要把组中的第一个按钮外的其他按钮与一个成员变量关联,唯一的方法时先给这个按钮设置WS_GROUP风格,然后关联变量,最后再去掉WS_GROUP风格。

5、如果忘记去掉WS_GROUP,就会出现断言。ASSERT(nPageSave>1)CEditView::PaginateTo()VIEWEDIT.CPP文件的478行通常始由于重载窗口的OnprepareDC()函数时没有首先调用基类的OnprepareDC()引起的,最好在OnpreparePrinting()或是OnBeginPrinting()中设置要打印的页数ASSERT(FALSE)AFXAPIAfxMessageBox()APPUI1.CPP中的第143行这里的问题可能是由两种原因引起的:1.字符串资源不存在2.没有正确地引用资源(比如说错误地号码,等等)ASSERT(m_hD

6、C!=NULL)CDC::SelectObject()对于每种类型地对象(pen,brush等)都有类似地断言。没有先调用GetDC(),CreateDC()或是Attach()就使用对象,便会引起这个断言。这个断言本质上是说不存在一个设备上下文.ASSERT(pObject==NULL

7、

8、pObject->m_hObject==h)CGdiObject::FromHandle()WINGDI.CPP第1114行没有释放前一个对象就创建对象,便会引起这个断言---例如,调用了CreateFontIndirect()两次,但在中间没有调用DeleteObject()ASSERT(m_hObj

9、ect==NULL)CGdiObject::Attach()WINGDI.CPP第1120行这个断言地起因是把绘图对象(pen,brush对象)选入了设备上下文但是没有选出[用SelectObject()函数]ASSERT(sizeTotal.cx>=0&&sizeTotal.cy>=0)CScrollView::SetScrollSizes()VIEWSCRL.CPP文件的第220行多数出现在使用CFromView和C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。