Also ich hab' es nun so gelöst:
Delphi-Quellcode:
function TScheißhaus.TuMalSpülen(Scheiße: TArsch): Boolean;
var i:integer;
begin
{...}
i:= 1;
repeat
i:= i +1;
if pos('update_ok', ReceivedText) <> 0 then
update_ok := true
else
update_ok := false;
Sleep(TimeOutMS); //Das Programm bleibt zwar stehen, jedoch wird die CPU nicht ausgelastet (andere Programme funktionieren weiterhin - der TaskManager auch :D)
until (update_ok = true) or (i >= TimeOutChecks);
Result := update_ok;
{...}
end;
Und in der OnRead Prozedur steht nur ein läppisches:
Delphi-Quellcode:
procedure TScheißhaus.OnReceive(Sender: TObject; Socket: TCustomWinSocket);
begin
ReceivedText:= Socket.ReceiveText;
end;