急呀!如何在线程中正确使用TClientSocket???

julang 2001-07-25 01:37:56
我new了多个线程,每个线程中都有一个TClientSocket来发送消息,
其ClientType为ctNonBlocking(接收端程序的TServerSocket的
ServerType=stNonBlocking), 但是很奇怪,当我的程序焦点转移
(如最小化或最大化、点到其他程序)时会出现异常。

请问各位大哥,怎样在线程里正确使用TClientSocket控件???
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
julang 2001-07-31
  • 打赏
  • 举报
回复
怎么没人答复啦!!!!
julang 2001-07-30
  • 打赏
  • 举报
回复
up up up!!!
julang 2001-07-26
  • 打赏
  • 举报
回复
我的问题跟那个例子不一样,我的线程执行没问题,而且消息发送也成功了,
但是就是焦点转移时会异常,特别时最大化或最小化时,真是搞不懂了!!!

void __fastcall TMsgSendThread::Execute()
{
AnsiString asUserHost;

//---- Place thread code here ----
try
{
for (int i=0; i<m_iMsgCount; i++)
{
//等待TClientSocket上次发送工作完成
while (m_bAddMsgSocketing)
Application->ProcessMessages();

m_iCurrSendMsgNo = m_iStartNo+i;

asUserHost = m_slstHostIPs->Strings[m_iCurrSendMsgNo];
csktSendIt->Close();
csktSendIt->Address = asUserHost;
csktSendIt->Open();

m_bAddMsgSocketing = true;

}

while (m_bAddMsgSocketing)
Application->ProcessMessages();

}
catch(Exception &e)
{
m_bAddMsgSocketing = false;
csktSendIt->Close();
}

}

csktSendIt是在线程中new出来的!
Sun2001 2001-07-25
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/105/105218.shtm

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧