Code: Alles auswählen
for i := 0 to Project.Units.Count - 1 do
begin
sgUnits.RowCount := i + sgUnits.FixedRows + 1;
ShowMessage(Project.Units[i].Name + ',' + Project.Units[i].PathExt);
sgUnits.Rows[i + sgUnits.FixedRows].AddCommaText(Project.Units[i].Name + ',' + Project.Units[i].PathExt);
end;
Wird die Routine jedoch ein zweites mal aufgerufen, wird nur die erste Zeile des Stringgrids mit dem Namen gefüllt, die weiteren Zeilen werden zwar angelegt, sind aber leer.

Das Showmessage habe ich nur zum Testen eingebaut, es zeigt immer die richtigen Werte an, auch beim zweiten Durchlauf.