Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1744408
  • 博文数量: 263
  • 博客积分: 1218
  • 博客等级: 少尉
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 02:33
文章分类

全部博文(263)

文章存档

2020年(12)

2019年(2)

2018年(10)

2016年(1)

2015年(20)

2014年(115)

2013年(46)

2012年(37)

2011年(20)

分类: C/C++

2014-10-11 16:27:17


我的一个MFC程序是多线程的,类似一个登录窗口, 想要 在一个窗口中点击按钮, 按钮的消息响应函数中创建一个新线程(线程2)来接收远方的应答, 接收到应答在新线程(线程2)中关闭窗口. 
我是将窗口指针当作线程参数(*pDialog)传给新线程(线程2). 然后在新线程中调用pDialog->CDialog::OnOk()函数就会引起程序错误了.
错误如下:

    Debug Assertion Failed!
     Program: ..........exe
     File: ...........\src\mfc\wincore.cpp
    Line:926
    For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.
后来去网上查找, 才知道不能调用CDialo::OnOk() 函数来关闭一个对话框,  要用EndDialog()函数. 例: pDialog->EndDialog(IDOK)
这样就可以了.

转: http://www.cnblogs.com/minvt/archive/2009/11/16/1603841.html

阅读(2644) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~