// MainFrm.h
#include "layercontrollerdlg.h"
class CMainFrame : public CMDIFrameWnd
{
…
…
private:
CLayerControllerDlg m_LayerControllerDlg;//加了这个语句后构造函数失败了!郁闷的找不出原因阿。
…
…
};// MainFrm.cpp
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
…
…
m_LayerControllerDlg.Create(CLayerControllerDlg::IDD, this);
…
…
}
#include "layercontrollerdlg.h"
class CMainFrame : public CMDIFrameWnd
{
…
…
private:
CLayerControllerDlg m_LayerControllerDlg;//加了这个语句后构造函数失败了!郁闷的找不出原因阿。
…
…
};// MainFrm.cpp
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
…
…
m_LayerControllerDlg.Create(CLayerControllerDlg::IDD, this);
…
…
}
{
// TODO: add member initialization code here
m_pDoc=GIS_CreateDocObject();
m_pDoc->AddMap("地图文档");
m_pDoc->SetModified(false);
// m_pCurrentModuleState=AfxGetModuleState();
m_bCurrentIsMap=true;}
这是构造函数,在类声明中加了CLayerControllerDlg m_LayerControllerDlg以后构造函数就失败了,可以编译,不报错。
但是在调试的时候发出这样的异常消息:
Unhandled exception in GDIMDIDEMO.exe(KERNEL32.DLL):0xE06D7363:MicroSoft
C++ Exception
试试
m_LayerControllerDlg->Create(CLayerControllerDlg::IDD,this);
编译可以,不能执行阿。