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的变量传过去的。
不过还是要谢谢楼下两位,你们的方法也可以,我又多学知识了,不过只能采纳一人。抱歉了 展开
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的变量传过去的。
不过还是要谢谢楼下两位,你们的方法也可以,我又多学知识了,不过只能采纳一人。抱歉了 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询