File: f:\rtm\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl
Debug Assertion Failed!Program: x.exe
File: f:\rtm\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl
Line:659
For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts
void CGridDefaultCell::SetFont(const LOGFONT* plf)
{
ASSERT(plf);
if (!plf) return;
m_Font.DeleteObject();
m_Font.CreateFontIndirect(plf);
CGridCell::SetFont(plf);
// Get the font size and hence the default cell size
CDC* pDC = CDC::FromHandle(::GetDC(NULL));
if (pDC)
{
CFont* pOldFont = pDC->SelectObject(&m_Font);
SetMargin(pDC->GetTextExtent(_T(" "), 1).cx); m_Size = pDC->GetTextExtent(_T(" XXXXXXXXXXXX "), 14);
m_Size.cy = (m_Size.cy * 3) / 2;
pDC->SelectObject(pOldFont);
ReleaseDC(NULL, pDC->GetSafeHdc());
}
else
{
SetMargin(3);
m_Size = CSize(40,16);
}
}
调用堆栈的时候会指向
AFXWIN_INLINE CSize CDC::GetTextExtent(LPCTSTR lpszString, int nCount) const
{
ASSERT(m_hAttribDC != NULL);
SIZE size;
VERIFY(::GetTextExtentPoint32(m_hAttribDC, lpszString, nCount, &size)); return size;
}
红的地方是出错的,调了N久,不知是什么原因???高手指点迷津!!!谢谢了!!
--------------------编程问答-------------------- UP一下 --------------------编程问答-------------------- up --------------------编程问答-------------------- 出现这种错误一般是你错误的是用了mfc,调试下会有异常出现
试试
先到release版本下
在出错的地方加getlasserror();
AfxMessageBox(错误号) --------------------编程问答-------------------- up --------------------编程问答-------------------- 这个异常在我的机器上运行就会出错,但在另一台机上就会出错,开发环境和系统一样
补充:.NET技术 , VC.NET