SDI登陆界面取消崩溃,怎么处理
SDI登陆界面取消崩溃,怎么办
MFC的单文档下做了个登陆界面,代码如下:
登陆框显示
//主窗口显示更新
delete出错了,在afxbasepane.cpp
void CBasePane::RemovePaneFromDockManager
出现了断言,之前都做好了的,调试其他功能的时候嫌登陆碍事把它注释了直接设置登陆状态为true,结果最后恢复回来就出现这个问题了,求各位大神帮忙看看!
------解决方案--------------------
CWnd* m_pMainWnd; 不是new出来的为啥要delete ???
MFC的单文档下做了个登陆界面,代码如下:
登陆框显示
void CXXXView::OnInitialUpdate()
{
..........
CLTLApp *pApp = (CLTLApp *)AfxGetApp();
CLoginDlg LoginDlg;
Loop:
if (IDOK == LoginDlg.DoModal())
{
if (_T("") != LoginDlg.m_strUserName && _T("") != LoginDlg.m_strPassword)
{
pApp->m_bSuccessLogin = true;
}
else
{
AfxMessageBox(_T("错误的帐户或密码!"));
goto Loop;
}
}
//pApp->m_bSuccessLogin = true;
}
//主窗口显示更新
BOOL CXXXApp::InitInstance()
{
.......
// 唯一的一个窗口已初始化,因此显示它并对其进行更新
if (m_bSuccessLogin)
{
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;
}
else
{
delete(m_pMainWnd); //出错
m_pMainWnd = NULL;
return FALSE;
}
}
delete出错了,在afxbasepane.cpp
void CBasePane::RemovePaneFromDockManager
出现了断言,之前都做好了的,调试其他功能的时候嫌登陆碍事把它注释了直接设置登陆状态为true,结果最后恢复回来就出现这个问题了,求各位大神帮忙看看!
界面
登陆界面
------解决方案--------------------
CWnd* m_pMainWnd; 不是new出来的为啥要delete ???