while True do
begin
Randomize;
FDQuery1.SQL.Text := 'select * from tab where i_tab='+Random(182064).tostring;
inc(i);
Label14.Caption := i.ToString();
Application.ProcessMessages;
Query1.Open;
end;
Ja v tom vidim hned nekolik veci, z nichz mi vstava zbytek vlasu na hlave hruzou:
- opakovane uziti Randomize
- rucni matlani SQL dotazu misto pouziti parametrizovaneho dotazu, ktery by v konkretnim pripade umoznil pouzivat stale stejny SQL prikaz a jen menit hodnotu parametru v tele cyklu
- chybna prace s I/O prostredkem -> Po open nenasleduje Close, coz je nejspis pricina toho memory leaku. Spravne by tam melo byt
Query1.Open;
try
...
finally
Query1.Close;
end