با سلام خدمت دوستان بزرگوار
من با استفاده از دستور زیر IP های مورد نظرم رو تو برنامه Ping میکنم.
function IfIPExists(IPAddr: String; Count : integer = 500): Bool;
var
I: TIdIcmpClient;
Rec: Integer;
j : integer;
begin
Result:= False;
if IPAddr = '' then exit;
I:= TIdIcmpClient.Create(nil);
try
I.Host:= IPAddr;
I.ReceiveTimeout := Count;
for j := 1 to 3 do
begin
I.Ping();
Rec:= I.ReplyStatus.BytesReceived;
if (Rec > 0) and (I.ReplyStatus.FromIpAddress = IPAddr)
then
begin
Result:= True;
Break;
end
else
Sleep(300);
end;
finally
I.Free;
end;
end;
ولی متاسفانه پس از مدتی خطای OutOfMemory میده.
این دستور مشکل داره؟