You will need to call SetLength() every iteration of the loop, before the call to ReadBuffer(), even though the strings are the same length, since this guarantees that "c" is a unique string; otherwise all the values in the array will point to the same string.