VC++ MFC MDI的CEditView在关闭时产生堆栈异常。 50

我做了如下工作:基于CDockablePane建议了一个CCodePane类,并在该类头文件中构建了一个CEditView对象:classCCodePane:public... 我做了如下工作:
基于CDockablePane建议了一个CCodePane类,并在该类头文件中构建了一个CEditView对象:
class CCodePane : public CDockablePane
{
。。。
CEditView m_wndCodeView;
。。。
};
在CCodePane的OnCreate函数中建立创建该对象

int CCodePane::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;
m_wndCodeView.Create(NULL, _T("123"), WS_VISIBLE, CRect(0,0,100,100), this, 1, NULL);
return 0;
}
在MainFrame中构建该DockablePane(已排查不是此处问题)
调试工程中,当关闭总窗口时,弹出对话框,所述如下:

"Windows 已在 stock.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 stock.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 stock.exe 具有焦点时按下了 F12。
输出窗口可能提供了更多诊断信息。"
请各位大神指正,初步判断是m_wndCodeView的问题,把m_wndCodeView.Create句删除后 ,错误对话框不再弹出。不知对不对?应 如何改正。
先行谢过 。
展开
 我来答
何处淬吴钩
2014-12-13 · TA获得超过5045个赞
知道大有可为答主
回答量:2947
采纳率:50%
帮助的人:2415万
展开全部
第一个参数不应该为NULL,应该与CEditView一致(为NULL时是CWnd的缺省属性,但你的对象不是CWnd对象)。

参考:
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式