Adding Fields to TTable

I am trying to dynamically add fields to a TTable using:
 mytable.FieldDefs.Add('Somefield',ftString,20,true);

that appears to work, however, when I try to access the field or
write to the field, I get a 'List Index out of bounds' error

I am trying to access it as follows:
mytable.fields[10].asstring:='Some Text';
or
showmessage(mytable.fields[10].asstring);

If I check the Database Desktop, the field definitions are in the
table, but I am not able to use the fields in my program.

I've also tried using: mytable.fielddefs.update...

Please help......
--
David Watson