あ、そうだ。書こうと思って忘れてたけど
ちょっと前にあったPChar(s)^のやつ、
SetLengthを読み込むバイト数+1でやらないと
最後の1バイト切れるよ。