Guten Morgen, RX3.
Hawkeye hat ja schon einiges klar gestellt, aber funktionieren wird auch der korrigierte Code nicht - und selbst wenn man ihn so ändert, dass keine Laufzeitfehler auftreten, wird er wohl kein befriedigendes Ergebnis produzieren.
Die erste Zeile in deinem Code deutet darauf hin, dass du eine einzige neue Zeile hinzufügen willst. Der Rest deines Codes baut das StringGrid trotzdem immer wieder vollständig auf - aber nicht korrekt, da du für den Eintrag in der ersten Spalte stets die Informationen benutzt, die als letzte hinzugefügt wurden. Alle anderen Zellen füllst du mit dem gleichen Wert - Edit5.Text. Ob das sinnvoll ist?
Deine Spaltenüberschriften kannst du übrigens auch so eintragen:
Delphi-Quellcode:
// Spaltenüberschriften eintragen
with StringGrid1 do
for iCol := 0 to ColCount - 1 do
if iCol = 0
then Cells[iCol, 0] := 'Name'
else Cells[iCol, 0] := 'Planet '+ IntToStr(iCol);
Dabei habe ich auch gleich den Laufbereich deiner Variable iCol korrigiert - der höchste Wert ist ColCount - 1.
Grüße vom marabu