M myzdog Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-06 #1 正常情况下子线程会在运行完Execute的内容后自动终止 但是我的子线程内有一个TELNET连接,我想一直挂着, 有消息的时候就响应,请问要怎么处理?
M man8888 Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-06 #2 看来你不懂Execute的机制了,应该有个循环来判断线程是否结束。 procedure TMyThread.Execute; begin while not Terminateddo begin Telnet.xxx; ... sleep(50); end; end; button1Click(); begin MyThread.Terminate; //结束线程 end;
看来你不懂Execute的机制了,应该有个循环来判断线程是否结束。 procedure TMyThread.Execute; begin while not Terminateddo begin Telnet.xxx; ... sleep(50); end; end; button1Click(); begin MyThread.Terminate; //结束线程 end;
M myzdog Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-06 #3 to: man8888 这样while语句会把线程占住而使Telnet控件的接收事件内的代码没办法执行, 刚刚试了一下,把线程挂起(Suspended := True,Telnet控件的接收事件一样可以触发, 不用的时候再把Suspended := False;结束线程,暂时还没什么问题
to: man8888 这样while语句会把线程占住而使Telnet控件的接收事件内的代码没办法执行, 刚刚试了一下,把线程挂起(Suspended := True,Telnet控件的接收事件一样可以触发, 不用的时候再把Suspended := False;结束线程,暂时还没什么问题