EndDialog出错,帮忙看看

lrypower 2011-12-22 11:33:59
XP系统,vs2008,sp1,MDI程序
做了一个模态登录框,在登录数据等都接收完成之后,在属于模态对话框自己的类里调用this->EndDialog(1);
最后出错,出错的时候,有终止,重试,忽略,选择忽略,该模态框会关闭
如果选择重试,则触发断点,断点在wincore.cpp中,摘抄部分如下:

do
{
ASSERT(ContinueModal());//这个断言处中断

// pump message, but quit on WM_QUIT
if (!AfxPumpMessage())
{
AfxPostQuitMessage(0);
return -1;
}

// show the window when certain special messages rec'd
if (bShowIdle &&
(pMsg->message == 0x118 || pMsg->message == WM_SYSKEYDOWN))
{
ShowWindow(SW_SHOWNORMAL);
UpdateWindow();
bShowIdle = FALSE;
}

if (!ContinueModal())
goto ExitModal;

// reset "no idle" state after pumping "normal" message
if (AfxIsIdleMessage(pMsg))
{
bIdle = TRUE;
lIdleCount = 0;
}

} while (::PeekMessage(pMsg, NULL, NULL, NULL, PM_NOREMOVE));


请帮助看一下是什么原因造成的?
...全文
202 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhuo 2012-04-26
  • 打赏
  • 举报
回复
检查一下析构函数,貌似指针非法调用。
把析构函数里的东东全都注释,看看问题是否还存在。然后一句一句排除。
lrypower 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gold_water 的回复:]

模态对话框使用基类的OnOK或者OnCancel来关闭.
[/Quote]

这里不能使用EndDialog吗?那EndDialog是用在哪里的?
gold_water 2011-12-22
  • 打赏
  • 举报
回复
模态对话框使用基类的OnOK或者OnCancel来关闭.
  • 打赏
  • 举报
回复
用CDialog::OnOK();
lrypower 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shen_wei 的回复:]

C/C++ code
::EndDialog(hwdofdlg,0);


你要找到模态对话框的句柄,然后在关闭!!!
[/Quote]
我这是这个模态对话框的内部调用的,this->EndDialog(1)都不行吗?
难道我要用::EndDialog(this,1);
这样吗?
shen_wei 2011-12-22
  • 打赏
  • 举报
回复
::EndDialog(hwdofdlg,0);


你要找到模态对话框的句柄,然后在关闭!!!
lrypower 2011-12-22
  • 打赏
  • 举报
回复
怎么今天都没有人解惑呀?
lrypower 2011-12-22
  • 打赏
  • 举报
回复
为什么今天人这么少呀,都没有人解答疑问的!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧