1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| function TFCoupeAcier_45_90.VerifiePC1(): String;
begin
if not(Ping(KARSH1B)) then begin
if not(Ping(KARSH1)) then
MessageDlg('Le PC Karsh01 n''a pas accès au réseau.', mtInformation, [mbOK], 0)
else
Result := KARSH1;
end
else
Result := KARSH1B;
end;
{***************************************************************}
function TFCoupeAcier_45_90.VerifiePC2(): String;
begin
if not(Ping(KARSH2B)) then begin
if not(Ping(KARSH2)) then
MessageDlg('Le PC Karsh02 n''a pas accès au réseau.', mtInformation, [mbOK], 0)
else
Result := KARSH2;
end
else
Result := KARSH2B;
end;
{***************************************************************}
function TFCoupeAcier_45_90.Ping(const AHost : string) : Boolean;
var
ReplyStatus: TReplyStatus;
client: TIdIcmpClient;
begin
Result := True;
ReplyStatus := TReplyStatus.Create;
client := TIdIcmpClient.Create(Self);
try
with client do
begin
Host := AHost;
ReceiveTimeout:=200; //TimeOut du ping
PacketSize := 24;
Protocol := 1;
try
Ping;
if ReplyStatus.ReplyStatusType<>rsEcho Then
begin
result := False; //pas d'écho, on renvoi false.
ShowMessage('ne connecte pas ');
end;
except
Result := False;
end;
end;
finally
if Assigned(Client)
then showMessage('Pointeur is not nil')
else showMessage('Pointeur is nil');
FreeAndNil(client); C'est sur ce free l'erreur
FreeAndNil(ReplyStatus);
end;
end; |
Partager