Ich würde in einem Thread nicht mit direkter Zuweisung arbeiten. Besser wäre der Übertrag des Quellarrays an das Array im Thread:
Delphi-Quellcode:
type TStringArray : Array of string;
...
private
Fs : TStringArray;
...
constructor TPrintArray.Create(AInputArray : TStringArray);
var
i;
begin
inherited Create(True); // Suspended starten und
FreeOnTerminate := True; // erst dann auf properties zugreifen
SetLength(Fs, Length(AInputArray))
for i := Low(AInputArray) to high(AInputArray) do
Fs[i] := AInputArray[i];
// Hier dann den Thread starten
Resume;
end;
Und der inherited Aufruf MUSS zuerst kommen sonst knallts.