Manipule une variable venant de WinDev depuis ou vers une variable locale du programme natif.
variable_get lit la variable vers un pointeur RPG, et variable_set fait le contraire.
Si la variable est de type tableau, variable_get_next permet d’accéder successivement aux occurrences. variable_set_next permet d’ajouter des occurrences.
Remarque : Il faut utiliser variable_get avant variable_get_next, et variable_set avant variable_set_next.
Prototype RPG (ici abrégé en « var_get »):
Dvar_get PR 10I 0 ExtProc('variable_get')
D txt_desc * value options(*string)
D data * value
txt_desc est une chaîne de caractère de taille indéterminée (terminé par 0), contenant la description de "data" ainsi que le nom de la variable WinDev.
data est un pointeur vers la variable réceptrice.
La fonction retourne un entier différent de zéro en cas d’erreur
Exemple d’utilisation (ici en RPGLE):
Dcode_etendu s 6P 0
[…]
/free
iRet = var_get('codeetendu:P6': %addr(code_etendu));
Cet exemple lit la variable windev « codeetendu », et l’affecte à la variable locale « code_etendu », de type pack 6.