Hola.
Yo utilizo una tercera opción que me parece que no se ha comentado aquí.
Table1.FindField('Nombre').AsString;
No se cuales pueden ser las ventajas y los inconvenientes

pero lo pongo por lo que pueda valer.
Lo que no he entendido es el comentario de kinobi de que utiliza constantes para evitar errores en los nombres de los campos. Si alguien pudiera aclararlo...
Saludos,