Prosta aplikacja sprawdzająca ping w timerze co 50ms. Problem polega na tym ze po kilkunastu dniach aplikacja potrafi zajmowac w pamieci nawet 600mb i ciagle rosnie (pinguje około 150 hostów co 20 sek)!
Wykonałem test > zamieniłem pingSend na Indny i nie ma tego problemu, ewidentnie wyciek jest po stronie pingsend. Czy komuś udało sie nad tym zapanować ?
// DODAM ze 20 hostów jest offline.
procedure Tping1.Execute;
var
pg:TPingSend;
wew_ping:integer;
begin
FreeOnTerminate:=true;
wew_ip:=u2_host;
u2_stop:=true;
//->PingSend
try
pg:=TPingSend.Create;
pg.Timeout:=250;
if pg.Ping(wew_ip) = true then
begin
wew_ping:=pg.PingTime;
wew_odpowiedz:='1:[ip:-'+
wew_ip+'-]'+'[ms:'+
IntToStr(wew_ping)+'-]';
end else
begin
wew_odpowiedz:='0:[ip:-'+wew_ip+'-]';
end;
synchronize(u2_dodaj_odpowiedz);
finally
//Destruktor
if pg <> nil then
FreeAndNil(pg);
//pg.Free;
end;
//<- PingSend
u2_stop:=false; //mozna wykonywać kolejny
```pascal
przed kodem, a po kodzie samo```