Bonjour
Jusqu'à ce que je ne teste pas mes fuites memoires, je me contentais de cette procedure pour effacer une ligne dans une grille :
mais cela provoque une fuite memoire!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm2.ReduitGRille(Idx: Integer); var I: Integer; begin for I := Idx to Grid1.rowcount - 2 do Grid1.Rows[I].Assign(Grid1.Rows[I + 1]); Grid1.rowcount := Grid1.rowcount - 1; end;
j'ai le message ..byte UnicodeString x110 & ...bytes TCellProperties x110)
j'apelle ma procedure ainsi
Donc ma question est toute bête, comment supprimer une ligne dans un TstringGrid sans fuite mémoire ?while I < Grid1.rowcount - 1 do
begin
inc(I);
if cbx_sens_filtre.itemindex = 0 then
if (strtofloat(Grid1.cells[cbx_filtre_1.itemindex + 1, I]) <
strtofloat(ed_filtre_1.Text)) then
begin
ReduitGRille(I);
I := 0;
end;
if cbx_sens_filtre.itemindex = 1 then
if (strtofloat(Grid1.cells[cbx_filtre_1.itemindex + 1, I]) >
strtofloat(ed_filtre_1.Text)) then
begin
ReduitGRille(I);
I := 0;
end;
end;
Merci de votre aide
Partager