Comportement bizarre de TBits
Bonjour
Je trouve un comportement bizarre à la méthode Size() de TBits.
Je suis en 2.4.0. en linux 64 avec lazarus.
exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| procedure TForm1.Button1Click(Sender: TObject);
var
x:TBits;
begin
x:=TBits.Create();
x[0] := true;
showmessage(inttostr( x.size));
x[1] := false;
showmessage(inttostr( x.size));
x[2] := false;
showmessage(inttostr( x.size));
x[3] := true;
showmessage(inttostr( x.size));
x[4] := true;
showmessage(inttostr( x.size));
end; |
ce code renvoie : 1, 2, 3, 3, 4 alors qu'il devrait renvoyer 1, 2, 3 4, 5...
J'ai récupéré le code de TBits.inc et j'ai fait avec une unité et une classe
TMyBits. Avec TMybits, le même exemple renvoie cette fois 1, 2, 3, 4, 5.
J'avoue ne pas très bien comprendre ce qui se passe...
Une idée ?
merci
Julien