Moin Mumu,
statt Deiner zwei if Zeilen aus dem Eingangsposting probier's mal hiermit (ungetestet, sollte aber gehen):
Delphi-Quellcode:
var
dwResult : DWORD;
fExit : boolean;
begin
// der Teil vor den if Zeilen
fExit := false;
while not fExit do begin
dwResult := WaitForMultipleObjects(2,@pCanRead[0],False, 20);
case dwResult of
WAIT_OBJECT_0 : begin
ShowMessage('online');
fExit := true;
end;
WAIT_OBJECT_0 + 1 : begin
ShowMessage('offline');
fExit := true;
end;
end;
end;
end;
Da ich das hier direkt reingeschrieben habe könnten noch Fehler enthalten sein.
Als Timeout kannst Du natürlich auch etwas anderes angeben.