Commande Sizeof "imprécise"
Bonjour,
Une âme charitable pourrait m'expliquer pourquoi lorsque je tape ce code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
type everec=record
cpt:byte;
code:string[2];
comm:string[13];
end;
begin
label1.caption:=inttostr(sizeof(everec));
end;
end. |
La valeur renvoyé est elle de 24 ?
Un à un chaque élément cpt, code et comm vaut 4 , 3 et 14. Mais quand je les mets tous comme ici, j'obtiens 24 au lieu de 21. Si je ne laisse que les string j'obtiens bien 17 (ok). Seulement le longint 4 (ok). Mais les deux string et le longint 24 !! Quelque chose m'échappe...
Merci,
Thierry