记录大小

时间:2019-09-23 12:07:58

标签: android delphi

我正在Delphi RAD Studio 10.3中开发一个Android应用程序

我有一条记录:

Type String20 = Array[0..20] of Byte;
Type String30 = Array[0..30] of Byte;
Type String11 = Array[0..11] of Byte;

Type TlChemin_SMB = Record
                  Nom         : String20;    
                  Path        : String30;   
                  Dem_lance   : Smallint;    
                  Occup_Chem  : Smallint;    
                  AutoDep     : Smallint;    
                  Chgt        : Smallint;    
                  ForDep      : Smallint;    
                  NlgProd     : Smallint;    
                  TypProd     : SmallInt;    
                  TypFour     : Byte;        
                  TempoLotDef : SmallInt;    
                  NlgChgtAuto : Smallint;    
                  Res         : String11;      
                End;

主要,当我打印此结构的大小时:

  Edit6.Text := IntToStr(SizeOf(String20) +
                         SizeOf(String30) +
                         SizeOf(String11) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(SmallInt) +
                         SizeOf(Byte)); // It prints 83 = right 

  Edit7.Text := IntToStr(SizeOf(TlChemin_SMB)); // It prints 84 = wrong

怎么可能?

0 个答案:

没有答案