Du könntest es in einen Thread auslagern und dort den TCPClient laufen lassen.
Oder du nimmst dir einen Timer und prüfst in bestimmten Abständen ob ein Command auf dem Stack ist:
Delphi-Quellcode:
IOHandler.CheckForDataOnSource(1);
if IOHandler.InputBuffer.Size = 0 then
begin
exit;
end
else
lText:=IOHandler.ReadLn;