字节数居然不同,差点上当

来源:互联网 发布:怎么看淘宝在线人数的 编辑:程序博客网 时间:2024/04/29 18:28

前段做手持设备的程序,试了几回,感觉用string[xx]这样获取的字符串似乎正确一些,因为减少了代码的复杂内容,但这样引起了新的问题,与手持设备进行通讯时,几乎总是不成功,检查了一下代码,发现是由于数据长度不一致引起的问题,下面是发现长度不一致的代码:

 

type

  TType1 = string[6];

  TType2 = array [0..5] of Char;

 

  TR1 = packed record

    d1: TType1;

    d2: TType1;

  end;

 

  TR2 = packed record

    d1: TType2;

    d2: TType2;

  end;

 

var

  r1: TR1;

  r2: TR2;

begin

  MessageDlg(format('字符长度:r1=%d, r2=%d', [SizeOf(r1), SizeOf(r2)]), mtInformation, [mbOk], 0);

end;