| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3811 人关注过本帖
标题:一段关于线程函数中调用Sendmessage发送消息的测试程序
取消只看楼主 加入收藏
喜鹊王子
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2012-12-25
结帖率:89.74%
收藏
已结贴  问题点数:20 回复次数:2 
一段关于线程函数中调用Sendmessage发送消息的测试程序
在项目中碰到了线程函数中调用Sendmessage发送消息时出现断言错误的问题,特此做了一个演示程序,但不知道是什么原因。求解。

点击twopoint对话框上的Button1和Button2分别进入子对话框1和子对话框2;
点击子对话框2上的按钮会启动线程函数xthread;但是却出现了断言错误,不知道为什么?
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册

代码如下:
// twopointsDlg.h
CCdialog1 *xxx;

// Cdialog1.h
#define UM_ALARM  WM_USER+100
afx_msg void alarm(WPARAM wParam, LPARAM lParam);

// Cdialog1.cpp
ON_MESSAGE(UM_ALARM,alarm)
void CCdialog1::alarm(WPARAM wParam, LPARAM lParam)
{
    MessageBox("BMS告警开入1");
}

// Cdialog2.cpp
UINT CCdialog2::xthread(void *param)//线程函数
{
   CCdialog2 *dlg=(CCdialog2*)param;   
   CTwopointsDlg *m_Host = (CTwopointsDlg*)AfxGetMainWnd();//获取主对话框的指针
   m_Host->xxx->SendMessage(UM_ALARM,0,0);
   return 0;
}
void CCdialog2::OnButton1()
{
    // TODO: Add your control notification handler code here
    AfxBeginThread(xthread,this);
}
搜索更多相关主题的帖子: 对话框 
2013-03-12 21:32
喜鹊王子
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2012-12-25
收藏
得分:0 
回复 2楼 yuccn
twopoints.zip (35.25 KB)

路漫漫其修远兮,吾将上下而求索。
2013-03-13 15:19
喜鹊王子
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2012-12-25
收藏
得分:0 
回复 4楼 yuccn
“你可以自己来维护那个CTwopointsDlg对象的,这样你想怎么做都行了”这句话我没听懂,版主能否讲具体点啊。谢谢你

路漫漫其修远兮,吾将上下而求索。
2013-03-15 20:49
快速回复:一段关于线程函数中调用Sendmessage发送消息的测试程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026406 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved