SetLength(S, n);
Stream.Read(S[1], n);
は安全ですかねぇ〜?