请问怎样才能把子线程一直挂着 ( 积分: 100 )

  • 主题发起人 主题发起人 myzdog
  • 开始时间 开始时间
M

myzdog

Unregistered / Unconfirmed
GUEST, unregistred user!
正常情况下子线程会在运行完Execute的内容后自动终止
但是我的子线程内有一个TELNET连接,我想一直挂着,
有消息的时候就响应,请问要怎么处理?
 
看来你不懂Execute的机制了,应该有个循环来判断线程是否结束。
procedure TMyThread.Execute;
begin
while not Terminateddo
begin
Telnet.xxx;
...
sleep(50);
end;
end;

button1Click();
begin
MyThread.Terminate;
//结束线程
end;
 
to: man8888
这样while语句会把线程占住而使Telnet控件的接收事件内的代码没办法执行,
刚刚试了一下,把线程挂起(Suspended := True;),Telnet控件的接收事件一样可以触发,
不用的时候再把Suspended := False;结束线程,暂时还没什么问题
 
接受答案了.
 
后退
顶部