If the specified value is less than the current length of the stream, the stream is truncated. If the specified value is larger than the current length of the stream, the stream is expanded. If the stream is expanded, the contents of the stream between the old and the new length are not defined.
A stream must support both writing and seeking for SetLength to work.
Use the CanWrite property to determine whether the current instance supports writing, and the CanSeek property to determine whether seeking is supported.