Syntaxe
Marque un paramètre de FUNCTION qui reçoit la variable même de l’appelant au lieu d’une copie, pour que la fonction puisse la modifier.
<name> REF AS <type>
<name> BYREF AS <type>S’écrit aussi : BYREF
Les éléments
| <name> | Le nom du paramètre. Écrivez-le sans sigil. |
|---|---|
| <type> | Le type du paramètre. Obligatoire. La valeur écrite par le paramètre y est convertie. |
À savoir
REFetBYREFsont le même mot. Les deux se placent après le nom et avantAS. L’ordre de Visual BasicBYREF n AS integerest refusé (« Invalid BASIC parameter »), tout commeREFsans type.- L’argument doit être un emplacement qu’on peut affecter : une variable, un champ d’enregistrement, un élément de tableau, l’élément courant d’une liste ou une entrée de map. Un littéral ou une expression donne « REF argument is not assignable ».
- Le type s’applique toujours : un
REF AS integerqui reçoit une variable décimale y écrit un entier. - Une fonction peut transmettre son propre paramètre
REFà un autre paramètreREF; la modification atteint le premier appelant. - Un paramètre
REFne peut pas êtreOPTIONALni variadique. - N’y mettez pas de sigil.
text$ REF AS stringse compile, mais le programme ne tourne plus dès que le corps littext$. Écriveztext REF AS string. - Sans
REF, un paramètre non typé partage déjà un enregistrement ou un tableau avec l’appelant ; un paramètre typé en reçoit une copie. Pour garder un lien au-delà d’un appel, utilisez un handle (@).