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 : Sélectionner tout - Visualiser dans une fenêtre à part
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