在delphi2010中,因为unicode的原因,FillChar使用方法已经和老版delphi大不相同了。
如果想用某一个字符(或汉字)填充内存 buf: array[0..1023] of Char; 就不能这样使用 FillChar(buf, size, 65); {填充字母 A}
这样使用是错误的,应该这样做:StrPCopy(Buf, StringOfChar('A',Length(Buf)));
如果是填充#0,可以使用 FillChar(buf, SizeOf(Buf), #0);
另外:buf的大小,只需使用SizeOf(Buf)或bytelength(buf),没必要用这么复杂的,拐了好几个弯 size := Length(buf) * SizeOf(Char);