Field n'aime pas les points

J’ai besoin d’un pointeur de champ en partant des numéros de table et de champ dans un objet, c’est énervant à compiler :
<code 4D>
$fld_p:=Field($relation_o.table;$relation_o.champ)
</code 4D>
… le compilateur me jette “cette méthode reçoit trop de paramètres”
<code 4D>
$fld_p:=Field((Num($relation_o.table));(Num($relation_o.champ)))
</code 4D>
… le compilateur me jette “cette méthode reçoit trop de paramètres”
<code 4D>
$fld_p:=Field(Int(Num($relation_o.table));Int(Num($relation_o.champ)))
</code 4D>
… le compilateur accepte (mais quelle lourdeur)
<code 4D>
$i_l:=$relation_o.table
$j_l:=$relation_o.champ
$fld_p:=Field($i_l;$j_l)
</code 4D>
… le compilateur accepte (mais quelle lourdeur)

Je sais que les commandes 4D n’acceptent pas les propriétés d’objet en paramètre entrée sortie, mais là, les valeurs passée à Field sont en entrée uniquement. Je pense donc à un défaut de jeunesse de la fonction vis à vis de la notation à point (je suis en 17r4) : quelqu’un a rencontré ce problème dans une version ultérieure ?