Herzlich willkommen in der Delphi-PRAXiS.
Du hast wahrscheinlich ein StringGrid mit RowCount = ColCount, so dass dir nicht auffällt, dass du die Zellen im event handler für Button1 falsch adressierst. Auch die Vergabe besserer Namen schützt vor solchen Fehlern:
Delphi-Quellcode:
procedure TMainForm.InitButtonClick(Sender: TObject);
var
iCol, iRow: Integer;
begin
with StringGrid do
for iRow := 0 to Pred(RowCount) do
for iCol :=0 to Pred(ColCount) do
Cells[iCol, iRow] := IntToStr(Succ(iRow * ColCount + iCol));
end;
Freundliche Grüße vom marabu