MFC中的debug assertion failed
只要在单文档CMainFrame::OnCreateClient函数里添加如下代码就会出现debugassertionfailedif(!m_wndSpMain.Crea...
只要在单文档CMainFrame::OnCreateClient函数里添加如下代码就会出现debug assertion failed
if (!m_wndSpMain.CreateStatic(this, 1, 2)) { TRACE0("Failed to create splitter window\n"); return FALSE; } if (!m_wndSpMain.CreateView(0, 0, RUNTIME_CLASS(CChen_1_7View),CSize(200, 200), pContext)) { TRACE0("Failed to create left pane view\n"); return FALSE; } if (!m_wndSpMain.CreateView(0, 1, RUNTIME_CLASS(DataView), CSize(100,100), pContext)) { TRACE0("Failed to create right pane frame\n"); return FALSE; }
代码是我从范例中找来的,运行也能通过,移植到自己的程序就出了问题,请问是什么原因 展开
if (!m_wndSpMain.CreateStatic(this, 1, 2)) { TRACE0("Failed to create splitter window\n"); return FALSE; } if (!m_wndSpMain.CreateView(0, 0, RUNTIME_CLASS(CChen_1_7View),CSize(200, 200), pContext)) { TRACE0("Failed to create left pane view\n"); return FALSE; } if (!m_wndSpMain.CreateView(0, 1, RUNTIME_CLASS(DataView), CSize(100,100), pContext)) { TRACE0("Failed to create right pane frame\n"); return FALSE; }
代码是我从范例中找来的,运行也能通过,移植到自己的程序就出了问题,请问是什么原因 展开
1个回答
展开全部
报错信息显示的是: 数据库记录集初始化绑定失败。
具体出错位置代码如下(系统级代码,不是你的程序代码):
// Bind fields (if not already bound), then retrieve 1st record
void CRecordset::InitRecord()
{
// fields to bind
if (m_nFields != 0)
{
m_nFieldsBound = BindFieldsToColumns();
// m_nFields doesn't reflect number of
// RFX_ output column calls in Do[Bulk]FieldExchange
ASSERT((int)m_nFields == m_nFieldsBound);
// Allocate the data cache if necessary
if (m_nFields > 0 && m_bCheckCacheForDirtyFields)
AllocDataCache();
}
else
// No fields to bind, don't attempt to bind again
m_nFieldsBound = -1;
}
因此,应该是你代码干扰造成的数据库初始化失败,具体原因应该不在你上面贴出代码的本身。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询