发现了一个VC的bug?关于界面弹出时间较长的问题

solo4you123 2010-12-17 05:52:19
很常见的一个程序,主界面(界面1)上有一个弹出界面(界面2),在弹出界面上有个按钮,再弹出一个界面(界面3)然后返回。
一般来说,界面1 弹出界面2, 界面2 弹出界面3, 都是一对一的。只有关掉界面3才会回到界面2。而且最后光标只能在界面3上面。

但现在有个问题。
在按钮按下后,因为要去数据库查询,所以,最后的界面3 出来之前,会有一段较长的等待时间。
在这个等待的时间的时候,如果鼠标点击其他的程序,然后再回来点击界面2, 等到界面3出现的时候,发现,界面2 和界面3的关系变了,光标可以移动到界面2上,界面2可以再通过这种方法调出无数个界面3出来。这下搞大了。

这个程序很普通呢,大家都应该有碰到过吧?有发生同样的问题的么?


From2 Source code :

void CFrom2Dlg::OnBtnOk()
{
//Query DB
.... //这里花了很多时间取数据
CForm3Dlg Dlg( );
if( Dlg.DoModal() == IDOK ) {
...
}
}
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
solo4you123 2010-12-20
  • 打赏
  • 举报
回复
谢谢了,应该是程序写的有问题。
lyingbo 2010-12-17
  • 打赏
  • 举报
回复
这个貌似不应该算是IDE的bug吧?这个又不是编译的什么问题,怎么能算IDE的呢
yeah2000 2010-12-17
  • 打赏
  • 举报
回复
点击 OnBtnOk() 之后,立刻置btnOK为enablewindow(false).防止多次点击
这是你程序写的不好,不算vc的bug
schlafenhamster 2010-12-17
  • 打赏
  • 举报
回复
取数据用一个线程,dlg必须的先取出来

15,979

社区成员

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

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