程序编译成功,但运行出错.在InitInstance() 函数中设置断言发现m_pMainWnd为NULL,我猜这里不应该当是这样的.那有可能是什么原因?
BOOL CWLDispApp::InitInstance()
{
...
ASSERT(m_pMainWnd != NULL); // 这里m_pMainWnd该不该为NULL? if (!ProcessShellCommand(cmdInfo)) // 程序到这一步出错
return FALSE;
...
} 那位大虾帮帮忙啊!
BOOL CWLDispApp::InitInstance()
{
...
ASSERT(m_pMainWnd != NULL); // 这里m_pMainWnd该不该为NULL? if (!ProcessShellCommand(cmdInfo)) // 程序到这一步出错
return FALSE;
...
} 那位大虾帮帮忙啊!
------------------------
你是说CMainFrame::Create, 但最先运行的是InitInstance()函数啊, 在InitInstance()时就失败了,其他都还没运行到呢
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
要是m_pMainWnd为空,怎么显示窗口.反正到这一步就没成功.
if (!ProcessShellCommand(cmdInfo)) // 程序到这一步出错
return FALSE;
我想是因为m_pMainWnd == NULL的原因.但我不知道为什么m_pMainWnd 会是 NULL
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1) // 这一步失败了
return -1;
...
}
这又会是什么原因呢?