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; }

代码是我从范例中找来的,运行也能通过,移植到自己的程序就出了问题,请问是什么原因
展开
 我来答
bhtzu
2013-06-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4206万
展开全部

报错信息显示的是: 数据库记录集初始化绑定失败。

具体出错位置代码如下(系统级代码,不是你的程序代码):

// 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;
}

因此,应该是你代码干扰造成的数据库初始化失败,具体原因应该不在你上面贴出代码的本身。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式