以前のバージョンのDelphiでは、次のコードがあります。
var InBuf: array[1..45] of Byte;
Count := InStream.Read(InBuf, SizeOf(InBuf));
変数InBufに正しい値を入力しました(すべてのバイトに値がありました)。Delphi XEでは、配列の1つおきのバイトが0です。これは、Delphi XEでのUnicodeの性質により、バイトデータ型が2倍大きいためだと思います。しかし、私のストリームはすでに生成されており、この手順を通過する必要があるため、誰かがこの問題に直面した場合は、バイトの半分のサイズの別のタイプ(多分?)または別のソリューションが必要です。ありがとう