Este ejemplo esta probado y funciona
Código:
procedure TForm1.Button1Click(Sender: TObject);
var a : array of integer;
i : integer;
begin
SetLength(a, StringGrid1.RowCount);
for i := 0 to High(a) do
a[i] := i;
for i := 0 to StringGrid1.RowCount - 1 do
StringGrid1.Cells[0, i] := IntToStr(a[i]);
end;
Tengo :
* un TStringGrid al que le he puesto RowCount = 60
* una variable de tipo array de integers para hacerlo igual que tu, el cual inicializo en el primer bucle
* en el segundo bucle cargo el StringGrid
Me funciona sin problemas. Haz un debug a ver donde esta fallando y el tipo de error que te da tambien podria ayudar a solucionarlo