procedure TReadThread.Execute;
var i:integer;
s:string;
begin
try
while (Terminated=false) and (IdTCPClient1.Connected=true) do
begin
i:=IdTCPClient1.ReadFromStack(); //检查是否需要读取数据
if i>0 then
begin
s:=IdTCPClient1.ReadString(i);//读取数据
end;
SleepEx(100,true);
end; //loop
except
end;
end;
这些你自己看吧,很久不用bcb了