MFC线程中如何更新edit,请高手帮忙啊,很急谢谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC线程中如何更新edit,请高手帮忙啊,很急谢谢谢相关的知识,希望对你有一定的参考价值。

我想写个两个线程,一个用来读管道内容,一个用来向管道写,点击发送,就是向管道把edit中的内容写进管道。读的解决了,现在写出问题了,代码如下:

void Thread2Proc()

if(!WaitNamedPipe("\\\\.\\pipe\\RequestPipe",NMPWAIT_WAIT_FOREVER))

MessageBox(NULL,"当前没有可利用的命名管道实例!","说明",MB_OK);
return;

pipeClient=CreateFile("\\\\.\\pipe\\RequestPipe",GENERIC_READ | GENERIC_WRITE,
0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(INVALID_HANDLE_VALUE==pipeClient)

MessageBox(NULL,"打开命名管道失败!","说明",MB_OK);
pipeClient=NULL;
return;

while(true)

::SetDlgItemText(AfxGetMainWnd()->m_hWnd, IDC_REQUEST,writeBuffer);
void CRequestDlg::OnSend() ;

WriteFile(pipeClient,writeBuffer,strlen(writeBuffer)+1,&dwWrite,NULL);


Linking...
RequestDlg.obj : error LNK2001: unresolved external symbol "protected: void __thiscall CRequestDlg::OnSend(void)" (?OnSend@CRequestDlg@@IAEXXZ)
Debug/Request.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

Request.exe - 1 error(s), 0 warning(s)
问题解决了,我把onsend放在主线程中,然后通过全局变量把edit的变量传过去的。
不过还是要谢谢楼下两位,你们的方法也可以,我又多学知识了,不过只能采纳一人。抱歉了

1、使用线程函数指针参元将控件首地址传入线程函数,以修改其内容
2、更多交流参考我空间文章。追问

你的空间是个学习的好地方,感谢感谢

参考技术A 如果是使用的MFC那么可以把对话框指针从线程函数参数传进线程里面,这样就可以在线程里面利用对话框指针对对话框进行操作.就不会有这样的问题.

笔记本蓝屏啊,分析代码如下:Probably caused by : ntoskrnl.exe ( nt+70740 ) 。请高手帮忙,说清楚了,

*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: nt!_KPRCB ***
*** ***
*************************************************************************
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
* *
* The Symbol Path can be set by: *
* using the _NT_SYMBOL_PATH environment variable. *
* using the -y <symbol_path> argument when starting the debugger. *
* using .sympath and .sympath+ *
*********************************************************************
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
* *
* The Symbol Path can be set by: *
* using the _NT_SYMBOL_PATH environment variable. *
* using the -y <symbol_path> argument when starting the debugger. *
* using .sympath and .sympath+ *
*********************************************************************
Probably caused by : ntoskrnl.exe ( nt+70740 )

Followup: MachineOwner

蓝屏故障的原因很多,常见的有三,一,系统中毒或者系统文件损坏,二,内存氧化接触不好或者不兼容,三,显卡BGA封装芯片虚焊或者主板其他BGA(南北桥等)封装芯片虚焊导致的;四,硬盘老化或者分区错误,建议您送修检测
在北京我帮您
不在北京的话,建议您找家信誉好、技术好的维修商帮您检修。
参考技术A 朋友,电脑蓝屏的原因是很复杂的!这是软件之间有冲突!(参考第3条,软件不兼容)
(答案原创,引用请说明原作者:力王历史)
1。如果这是偶然,一般重启电脑,症状便可消失!
2。杀毒不彻底,(使用杀毒软件,全盘扫描和自定义扫描)!
如果杀到木马或病毒后,应立即重启, 重启电脑后,来到“隔离|恢复”,彻底删除,木马和病毒!
3。软件冲突,不兼容:多余的同类软件安装,(360管家,软件卸载,找到卸载,再:强力清扫)!比如:播放器重复或有相似的,杀毒,浏览器,游戏,输入法,下载工具,有同类多余的,卸载多余的,只留一款!
4。电脑系统有顽固的病毒和木马或蠕虫干扰,或者丢失了系统文件(360系统急
救箱或金山急救箱,金山网盾等等,其中任意一款,全盘查杀,再:系统修复)
5。软件需要更新,(360管家,软件升级,下载,覆盖安装,winrar可以不升)
6。系统有新的漏洞等待安装,(修补高危和重要的,其它设置为:忽略)
7。显卡或内存cpu,或风扇的接触不良和松动或有灰尘覆盖,(拔下橡皮擦擦)注意是:台式机!
8。内存cpu过热,散热性不好!(开机时间不要太长,关机散热)
9。电脑存在恶评插件! (扫描出来,立即清理)
10。电脑磁盘碎片过多,(开始,程序,附件,系统工具,磁盘碎片整理程序)!
11。如果还是不行,说明系统文件丢失了!或者系统内存有很严重的错误了!
12。试试开机后按F8,回车,回车,进安全模式里,最后一次正确配置,按下去
试试!或者,进安全模式,到桌面后,全盘杀毒!
13。玩游戏蓝屏,一般就是系统不支持这款游戏!(更换游戏版本或换xp系统)
14。下载的游戏,播放器,输入法,下载工具,浏览器,驱动,等等的程序不稳定!(卸载重装或升级至最新版本)!
15。如果还是不行,需要“一键还原”系统或“重装系统”了 !

本答案并非网络复制,全部是本人:“力王历史”,长期在“百度知道”总结和自己实践,以及广大的百度网友们,反馈得来的经验!
参考技术B 操作系统内核错误。 看看你的系统里那些程序用到C#了。DEBUG调试程序里有个.PDB库里包含有非法字符,不能被载入。标识符不能载入,因为标识符的路径不能初始化。你得有系统分析能力才可以解决这个问题。追问

操作系统内核错误,这是硬件问题还是系统问题啊?一般怎么解决啊?谢谢了 ,我对电脑系统分析不懂啊。

追答

李宁说:anything is possible。一切皆有可能。我感觉偏软。

追问

好 有可能是内存条松动吗?

追答

也有可能

本回答被提问者采纳
参考技术C ***您的调试器不使用正确的符号*** *** *** ***为了这个命令能够正常工作,你的符号路径*** ***必须指向。pdb文件拥有完全类型信息。 *** *** *** ***肯定的。pdb文件(如公共操作系统符号)*** ***不包含所需的信息。联络组*** ***提供这些符号你,如果你需要此命令*** ***工作。 *** *** *** ***类型引用:!新台币_KPRCB *** *** *** *********************** ************************************************** ************************************************** ******************* *符号无法载入符号路径,因为没有初始化。 * * * *符号的路径可以设置:* *使用_NT_SYMBOL_PATH环境变量。 * *使用使用- y <symbol_path>启动调试器时的参数。 * *使用。sympath和。sympath + * ***************************************** **************************** ********************** *********************************************** *符号可以无法载入符号路径,因为没有初始化。 * * * *符号的路径可以设置:* *使用_NT_SYMBOL_PATH环境变量。 * *使用使用- y <symbol_path>启动调试器时的参数。 * *使用。sympath和。sympath + * ***************************************** ****************************可能原因是:ntoskrnl.exe

以上是关于MFC线程中如何更新edit,请高手帮忙啊,很急谢谢谢的主要内容,如果未能解决你的问题,请参考以下文章

需要一段用Canny算子实现图像边缘检测的MATLAB程序,拜托高手们帮帮忙,很急啊!

IBM-3650.M2(7947)服务器没有引导盘怎么重做系统啊?求帮忙!

Vnc viewer 4如何配置?哪位高手帮帮忙呀,很急的!!

MFC中edit实现动态输出效果

java:Enumeration大家帮忙啊,我很急啊,

css做的菜单,被选中状态的一个效果,很急,希望高手帮忙!!!