Zitat von
devidespe:
IF TReplyStatusTypes <> rsEcho THEN PingError:=True;
Das sollte besser:
if IdIcmpClient1.ReplyStatus
heißen.
Ansonsten mal das Timeout hochsetzen?
IdIcmpClient1.ReceiveTimeout := 5000;
Mal zur Erklärung übrigens:
http://www.indyproject.org/docsite/h...ring@word.html
Zitat:
For Windows NT and Windows 2000,
administrator privileges are required to allow TIdICMPClient.Ping to work properly. The command line PING application does not exhibit this behavior because
Microsoft chose to use undocumented calls in ICMP.DLL and its winsock implementation to get around the issue. In short: they
cheated.
Indy does not use ICMP.DLL to maintain Linux compatibility, and allow use of both Raw sockets and ICMP sockets.
Gruß Assertor