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句删除后 ,错误对话框不再弹出。不知对不对?应 如何改正。
先行谢过 。 展开
基于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句删除后 ,错误对话框不再弹出。不知对不对?应 如何改正。
先行谢过 。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询