• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

请教:为什么UpdateData老是出错?

shyworm 2002-07-17 06:05:49
我用VC++6.0编写一个对话框程序, 用于即时通信.
我开了一个线程专门接收消息.然后送到对话框上的CEdit控件显示出来.
我为CEdit控件关联了一个变量m_EditRecv, 然后这样:
...
CMyDlg *g_pMyDlg;
...
BOOL CMyDlg::OnInitDialog()
{
...
g_pQQdlg = this;
...
_beginthread(RecvThread, 0,NULL);
...
}

并且增加了一个public函数:
int CMyDlg::AddMsg(char *msg)
{
UpdateData();
m_EditRecv.Insert(m_EditRecv.GetLength(), msg);
UpdateData(FALSE); // 就在这里死机的!!!!!!!!!!!!
return 0;
}

在RecvThread中收到消息就调用g_pMyDlg->AddMsg(RecvBuf):
void RecvThread(void* dummy)
{
...
recvfrom(s, recvBuf, ...);
...
g_pQQdlg->AddMsg(recvBuf);
...
}

运行的时候就发现在UpdateData(FALSE);那里死机了!
出现有这样内容的对话框:
Debug Assertion Failed!
Program: ...My.EXE
File:wincore.cpp
Line:879
....

请问高手,是不是线程间传指针导致的问题? 是否要用FAR指针呢?
...全文
26 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenxiaa 2002-07-18
将recvBuf置成静态变量。
回复
shyworm 2002-07-18
试过了
AfxGetApp()->m_pMainWnd->AddMsg(recvBuf);
不行.

将recvBuf置成静态变量也不行.

难道只有用消息了吗?
回复
潘李亮 2002-07-17
绝对不是FAR的问题,32位的windows程序只有一种指针模式都是32bit
回复
wnchg 2002-07-17
up
回复
kmcyz 2002-07-17
好象是g_pQQdlg有问题,改成
AfxGetApp()->m_pMainWnd->AddMsg(recvBuf);
试试。
回复
kmcyz 2002-07-17
定义一个消息,在线程中发送消息,然后在消息处理函数中更新对话框数据。
回复
wiler 2002-07-17
线程间通讯的问题
回复
rokia 2002-07-17
關注:

ps. 這麼難的題,才給30分啊。 :)
回复
相关推荐
转:VC++常用数据类型转换
 留着方便自查 VC++数据类型转换 <br />int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="巩俐&周润发"; char temp[200];...
_variant_t ,_bstr_t 与 CString 类有什么区别
栏目导航: 首 页 | 其它技术 | VC/C++/C基础 _variant_t ,_bstr_t 与 CString 类有什么区别原作者:不详 源出处:不详 发布者:施昌权 发布类型:转载 
明:本文纯粹是总结一下有关类型转换的贴子,
明:本文纯粹是总结一下有关类型转换的贴子,本人并未对所有方法都做测试,仅仅是为了给大家一个参考。读者层次:初学int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";...
_variant_t ,_bstr_t 与 CString 类有什么区别 以及相互转换
_variant_t ,_bstr_t 与 CString 类有什么区别    int i = 100;  long l = 2001;  float f=300.2;  double d=12345.119;  char username[]="程佩君";
HTML(4):杂项
Qhtml问题,高手请进,或者搞过html分析的请进 T我想写个程序,能够获取html叶面里的表单,然后再在程序里面显示出来,但现在的问题是有些表单里的数据(网页里预定义,存在array里面,有jsscript把它放到表单里面...
VC++常用数据类型及其操作详解(非常经典,共同分享)
友情提示:为了方便你更好的学习和阅读,也更好的体现尊重原创作者的劳动成果,请您直接查看转载原本链接:...
链接:MSDN UserNet等
Q我想知道如何在VC中实现可塌陷的PanelBar界面(类似于OutlookBar)? T可塌陷的PanelBar界面比outlookbar更有吸引力,Windows XP左边的导航工具面版就是采用这种风格,采用这种风格的应用程序也越来越多,比如各种...
k3 Bos开发百问百答
K/3 BOS开发百问百答 (版本:V1.1) K3产品市场部 ...【摘要】单据自定义无法看到bos定义的基础资料_ 1 【摘要】在调出基础资料序时簿时,过滤出我需要的基础资料_ 1 【摘要】bos定义的基础资料能否做到按名称...
关类型转换-作为参考
说明:本文纯粹是总结一下有关类型转换的贴子, 本人并未对所有方法都做测试,仅仅是为了给大家一个参考。 读者层次:初学 int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君...
VC++数据类型转换大全
Cpp代码   int i = 100;  long l = 2001;  float f=300.2;  double d=12345.119;  char username[]="程佩君";  char temp[200];  char *buf;..._bstr_t 
VC常用小知识
[转]VC常用小知识   (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化. ...
C++数据类型转换(转)全!
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://whuhutu.blogbus.com/logs/1819202.html   int i = 100; long l = 2001; float f=300.2; double d=12
对论坛中有关数据类型转换的整理
对论坛中有关数据类型转换的整理整理:Vision Deng 说明:本文纯粹是总结一下有关类型转换的贴子, 本人并未对所有方法都做测试,仅仅是为了给大家一个参考。 读者层次:初学 ...char *b...
MFC中强制转换总结
 其中cast_namestatic_cast,dynamic_cast,const_cast和reinterpret_cast之一,type转换的目标类型,而expression则是被强制转换的值。强制转换的类型指定了在expression上执行某种特定类型的转换。  1.static...
c++类型转换
[转]VC++数据类型转换大全 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君"; char temp[200]; char *buf;..._bstr_t v
VC++类型转换大全
Cpp代码 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君"; char temp[200]; char *buf; CString str;...一、其它数据类型转换字符串
对论坛中有关数据类型转换的总结
int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换字符串 ...///将i转换字...
C++数据类型转换
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://whuhutu.blogbus.com/logs/1819202.html   int i = 100; long l = 2001; float f=300.2; double d=12345.119;...
信息安全等级保护管理办法(公通字[2007]43号)
信息安全等级保护管理办法(公通字[2007]43号)
PPT模板下载
PPT模板下载我只是想要点积分啊 
vue-devtools chrome 插件
chrome(谷歌浏览器)vue代码调试插件, 已打包。解压后,通过chrome扩展程序加载即可使用。 使用方法: 1、chrome浏览器输入地址“chrome://extensions/”进入扩展程序页面 2、勾选开发者模式 3、点击“加载已解压的扩展程序...”按钮,选择解压后的chrome文件夹,即可添加成功。 4、添加完vue-devtools扩展程序之后,我们在调试vue应用的时候,ch rome开发者工具中会看一个vue的一栏,点击之后就可以看见当前页面vue对象的一些信息
初级学习ArcGIS Engine视频课程
全局讲解ArcGIS Engine开发课程,初级学习 学会ArcGIS Engine 二次开发
《UML面向对象需求分析与建模教程》 邹盛荣 主编 电子版 2016.01 .doc
PPT已在CSDN均可免费下载 《UML面向对象需求分析与建模教程》 邹盛荣 主编 电子版 2016.01 .doc 当当网上可购买纸质书: http://product.dangdang.com/23766413.html
STM32F407 / F103 PCF8575模块 控制16个I/O口 IIC通信
本例程为STM32F407控制PCF8575模块的16个I/O口输出,本例程基于正点原子STM32F407 IIC例程修改,本例程中使用PCF8575控制16个继电器。
比较两张图片差异
比较两张图片差异,代码收集于网上,码收集于网上
c#图片文字-字母-数字自动识别-深入代码-非常好
c#图片文字-字母-数字自动识别-深入代码-非常好
C语言及程序设计初步
课程针对没有任何程序设计基础的初学者,全面介绍C语言及利用C语言进行程序设计的方法。课程注重知识的传授,更关注学习者能够通过实践的方式,真正学会利用C语言解决问题,奠定程序设计的基础。为此,专门设计了实践方案,指导学习者在听讲的同时,有效完成实践。讲课中还适时穿插进行学习指导,帮助初学者尽快掌握程序设计的学习方法。 课程主要针对无任何编程经历的初学者,利用主讲者多年来教授大一学生的教学经验,准确把握知识点掌握中的难点,在和视频配套的实践方案配合下,帮助初学者顺利掌握知识,获得学习中的自信。
Qt图形视图框架详解
介绍Qt中的Graphics View Framework,涉及View、Scene、Item的关系,如何自定义QGraphicsItem、处理Item之间的关联、如何布局及定义自己的布局Item、如何变幻Item、如何应用动画、如何处理拖放、如何给Item应用图形效果,提供拼图游戏、画板两个有用的实例。 通过本课程的学习,能够掌握Qt Graphics View Framework的基本应用,使用图形视图框架开发需要丰富的GUI效果的应用软件以及需要维护大量图元的、对图形界面层次要求较高的应用。
Java初级从入门到精通
课程分为:J2SE 基础阶段,中级阶段,阶段; 课间会讲解一些小程序的开发:如:猜拳游戏,模拟银行柜员机程序,退休金结算程序等.
rtl8188eu_USB_linux.tar.gz
TP-LINK TL-WN725N V2 Linux 驱动安装
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-07-17 06:05
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……