C++Builder 程序员博客
21 Jul
主线程接收了一个消息
然后想要传递给 子线程所创建的form内的RichEdit 加以显示
可是偏偏就这里出错
pThread->pChatForm->RichEdit1->Lines->Add(strTemp);
pThread是子线程指针
pChatForm是子线程中的form指针
莫非不能这样调用?
请高人指点
具体代码如下
void __fastcall Domessage(AnsiString strTemp)
{
//TODO: Add your source code here
int iTemp;
AnsiString strSub;
Chatcontrol *pThread;
USER uTemp;
iTemp = strTemp.Pos(',');
strSub = strTemp.SubString(1,iTemp-1);
strTemp.Delete(1,iTemp);
uTemp.strLockid = strSub;
uTemp.strName = "陌生人"+uTemp.strLockid;
iTemp = strTemp.Pos(',');
strSub = strTemp.SubString(1,iTemp-1);
strTemp.Delete(1,iTemp);
if(strSub != MainForm->User.strLockid)
return;
//处理消息
ShowMessage(strTemp);
iTemp = MainForm->SearchThread(&uTemp);
if(iTemp < 0)
{
if(MainForm->NewThread(&uTemp) == false)
{
ShowMessage("新建窗口错误");
return;
}
pThread = MainForm->pTList[MainForm->iTNum-1];
}
else
pThread = MainForm->pTList[iTemp];
if(pThread->pChatForm != NULL)
{
pThread->pChatForm->RichEdit1->Lines->Add(strTemp);
ShowMessage("窗口成功!");
}
}