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

我想写个两个线程,一个用来读管道内容,一个用来向管道写,点击发送,就是向管道把edit中的内容写进管道。读的解决了,现在写出问题了,代码如下:voidThread2Pro... 我想写个两个线程,一个用来读管道内容,一个用来向管道写,点击发送,就是向管道把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的变量传过去的。
不过还是要谢谢楼下两位,你们的方法也可以,我又多学知识了,不过只能采纳一人。抱歉了
展开
 我来答
春夏秋冬
2013-12-18 · 知道合伙人教育行家
春夏秋冬
知道合伙人教育行家
采纳数:490 获赞数:1419

向TA提问 私信TA
展开全部
1、使用线程函数指针参元将控件首地址传入线程函数,以修改其内容
2、更多交流参考我空间文章。
追问
你的空间是个学习的好地方,感谢感谢
归悦欣cf
2013-12-17 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1330万
展开全部
如果是使用的MFC那么可以把对话框指针从线程函数参数传进线程里面,这样就可以在线程里面利用对话框指针对对话框进行操作.就不会有这样的问题.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式