Ich würde dem Thread einfach einen eigenen Konstruktor spendieren, der einen Record mit den Daten übergeben bekommt. Dann brauchst du in der Schleife auch nicht alles neu setzen...
Delphi-Quellcode:
//KWs und Daten zu KWs errechnen
RowsWeeks := Logic.GetWeekDates(fVonDate, fBisDate);
//Threads erstellen
RowData.fMaschinenId := fMaschinenId;
RowData.SG_Name := fSG_Name;
RowData.MaschinenId := fMaschinenId;
RowData.WritewLeistungSingleRows := fWriteSingleResults;
for I := 0 to Length(RowsWeeks[0]) -1 do
begin
RowData.VonDate := StrToDate(RowsWeeks[1, I]);
RowData.BisDate := StrToDate(RowsWeeks[2, I]);
MywLeistungThreads[I] := TMyThread_Actually_wLeistung_MT.Create(RowData); // im inherited des Konstruktors dann false, damit er gleich losrennt
end;
Hier könnte aber auch eine simple parallel for Schleife reichen...