Hallo,
ich würde das eher so machen:
Delphi-Quellcode:
function Ping(Host:
String):
string;
var res: TReplyStatus;
ICMP: TidIcmpClient;
// indy-Clients
begin
ICMP:= TidICMPClient.Create(
nil);
try
result:= '
offline';
ICMP.Host:= Host;
try
ICMP.Ping;
if ICMP.ReplyStatus.ReplyStatusType <> rsTimeOut
then
result:='
online'
else
result:='
offline';
except
result:= '
connected?';
end;
finally
ICMP.Free;
end;
end;
In dem except Block könntest du noch die
exception Abfangen und den Fehlertext ermitteln, damit man sieht woran es liegt.