打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何把CString对象作为AfxBeginThread()函数的第二个参数,如何标识
我在程序中定义了一个CString对象,想把它作为AfxBeginThread()的第二个参数传递到线程函数中,如何实现?
如CString  str="jijij";

AfxBeginThread(MyThreadProc, LPVOID pParam);  UINT MyThreadProc( LPVOID pParam )

在函数MyThreadProc( LPVOID pParam )里如何取出这个对象
谢谢!

******************************************************
调用
AfxBeginThread(MyThreadProc, (LPVOID)&str); 
取出
(CString*)pParam
***********************************************************
调用
AfxBeginThread(MyThreadProc, &str);

取出
CString *strRead = (CString *)theParam;

补充一点是这个CString不能使局部变量,应该是全局变量,或者static的(不过不太好)
**************************************************************
CString  *str= new CString();  // 在堆里申请,线程退出后销毁
*str = "jijij";

AfxBeginThread(MyThreadProc, (LPVOID)str); 
*******************************************************************
问题解决了,我的CString对象是个局部变量,之前向xing_xing_xing和 happyprince说的那样传递的,可是到线程函数中取出之后不是我传递过去的数据.
解决方法:向zhymax说的我又建了个对象CString  *str= new CString(); 把*str赋值为我想传递的对象,调用AfxBeginThread(MyThreadProc, str); 取出CString *strRead = (CString *)theParam
在线程结束之前把对象给delete.谢谢truewill的提醒.
在这非常谢谢四位的回答,分值一会就给!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Visual C++线程同步技术剖析
MFC线程(一):简单介绍
多线程编程四
MFC全局函数::AfxBeginThread
IT 技术联盟--VC++ MFC线程处理概述
AfxBeginThread的基本用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服