请教一个非模式对话框的问题?
我建立一个单文档,单击左键的时候弹出一个模式的对话框CUser,对话框里面有一个next的按钮,我想实现的是按一下next按钮,就会弹出一个非模式的对话框CNextDlg,next按钮还会判断如果非模式框已经存在了,就激活,否,就建一个新的。在非模式对话框CNextDlg中有一个cancel的按钮,功能是注销非模式对话框的。现在问题出现在
void CNextDlg::OnCancel()
{
// TODO: Add extra cleanup here
((CUser*)m_pParent)->m_pNextDlg=NULL;//这句没有通过
DestroyWindow();
// CDialog::OnCancel();
}
其中m_pNextDlg是CUser的成员变量。
下面是模式对话框CUser的按钮next的函数
void CUser::OnNext1()
{
// TODO: Add your control notification handler code here
if (m_pNextDlg)
{m_pNextDlg->ShowWindow(SW_SHOW);
m_pNextDlg->SetActiveWindow();}
else
{
m_pNextDlg=new CNextDlg;
m_pNextDlg->Create(IDD_NEXT,this);
m_pNextDlg->ShowWindow(SW_SHOW);
}
}
编译连接都通过,当我按next按钮的时候也会弹出非模式对话框CNextDlg,但是当按取消键的时候弹出错误提示“...内存不能写..”
请教应该怎么样做?