Acabo de hacer una prueba y funciona correctamente:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Table1.Fields[1].Size));
end;
El campo número 2 mide 30 y esto es lo que me devuelve. No será que estas partiendo del campo 1 como inicio, cuando los campos van de 0...
Es decir si tienes 10 campos recorre del 0 al 9.
Un Saludo.