读书人

indy通讯解释上这个线程的意义

发布时间: 2013-01-08 14:02:14 作者: rapoo

indy通讯,解释下这个线程的意义~
为什么这个线程只需要在indy客户端connect的时候创建一下,然后就可以一直不断的接收服务器的消息?
难道这个线程运行一次不就销毁了么?为什么一直会存在呢?

procedure TMainThread.Foo;
var
Msg:string;
bool: boolean;
begin
bool:=true;
while bool do begin
try
Msg:= Form6.IdTCPClient1.IOHandler.ReadLn;
if(Msg='') then
bool:=false
else
begin
M_Lock.Enter;
M_MsgList.Add(Msg);
M_Lock.Leave;
end;
except
bool:=false;
end;
end;
end;

Procedure TMainThread.Execute;//线程启动
begin
FreeOnTerminate:=True;
Foo;
End;
End.

[解决办法]
while bool do begin

end;

有这个循环呀,线程当然存在,直到服务端关闭或读取不到数据为止。
[解决办法]
解释同上

读书人网 >.NET

热点推荐