首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MFC对话框程序报错,创建对话框不成功解决思路

2012-06-16 
MFC对话框程序报错,创建对话框不成功对话框程序的InitInstance函数源代码入下:C/C++ codeBOOL CSinovoApp:

MFC对话框程序报错,创建对话框不成功
对话框程序的InitInstance函数源代码入下:

C/C++ code
BOOL CSinovoApp::InitInstance(){    ShellExecute(NULL,"open","reg.bat",NULL,NULL,SW_HIDE);    Sleep(1000);    CExclusive exclusive;    CWinApp::InitInstance();    SetPriorityClass(GetCurrentProcess(),ABOVE_NORMAL_PRIORITY_CLASS);    if(PreProcessCommandLine(GetCommandLine())){        return FALSE;    }    if(exclusive.IsRunning("Sinovo-server")){        ReinitIcon();        return FALSE;    }    InitCommonControls();    AfxEnableControlContainer();    // 标准初始化    // 如果未使用这些功能并希望减小    // 最终可执行文件的大小,则应移除下列    // 不需要的特定初始化例程    // 更改用于存储设置的注册表项    // TODO: 应适当修改该字符串,    // 例如修改为公司或组织名    SetRegistryKey(_T("Sinovo"));    CSinovoDlg dlg;    m_pMainWnd = &dlg;    INT_PTR nResponse = dlg.DoModal();    if (nResponse == IDOK)    {        // TODO: 在此放置处理何时用“确定”来关闭        //对话框的代码    }    else if (nResponse == IDCANCEL)    {        // TODO: 在此放置处理何时用“取消”来关闭        //对话框的代码    }    // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,    // 而不是启动应用程序的消息泵。    return FALSE;}


报错的语句是:CSinovoDlg dlg;这句,经过单步调试是在CSinovoDlg的类中初始化实例dlg不成功.

dlg的数据如下:


为什么这里的CSinovoDlg dlg初始化不成功呢?
CSinovoDlg函数代码如下:
C/C++ code
CSinovoDlg::CSinovoDlg(CWnd* pParent /*=NULL*/)    : CDialog(CSinovoDlg::IDD, pParent){    m_log.SetModule("[SinovoDlg]");    // Load icon    m_hIcon    = AfxGetApp()->LoadIcon(IDR_MAINFRAME);        // initialize com interfaces    pBroadcast    = NULL;    pVSServer    = NULL;    pRServer    = NULL;    pMouse        = NULL;    pDevice        = NULL;        // initialize thread variables    hThread        = NULL;    hTimeThread    = NULL;    bThreadExit    = FALSE;    // initialize sinovo dialog elements    rcWatch.left    = 0;    rcWatch.top        = 0;    rcWatch.right    = 800;    rcWatch.bottom    = 600;    bTempStopped    = FALSE;    bInitialized    = FALSE;    bPrimary        = TRUE;    CInterfaceHelper interfaceHelper;     if(!interfaceHelper.GetServerInterface())    {        AfxMessageBox("Initialize the CSLib failed");        m_log.Append("Failed to initialize CSLib, Sinovo exits.");        PostQuitMessage(0);    }    else    {        Initialize();    }}


[解决办法]
怎么感觉不向是向导生成的!
是不是没有包含SinovoDlg.h头文件
[解决办法]
CSinovoDlg构造函数中是那一句话错了?把他注释掉试试!

热点排行