Etablit un lien entre une variable de l'application et un widget représentant une valeur. C'est un lien bidirectionnel. Une variable active peut être liée à plusieurs widgets.
Exemple :
main () { bool rectoverso=false; ... /* Création du widget */ rv = CreateCheckBox(); /* Etablissement du lien avec la variable active*/ SetActiveVariable (rv,&rectoverso);
Il faut s'assurer que le widget met à jour son état lorsque la valeur de la variable change.
-Soit on apelle la fonction UpdateActiveVariable mais le problème est que l'on risque d'en oublier.
-Soit on met en place une tâche de fond, à chaque tour de boucle : on fait le bilan des variables ayant changées puis on fait un UpdateActiveVariable.
-Soit on utilise un mécanisme du langage comme la surcharge des opérateurs qui est le plus efficace mais qui n'est pas toujours applicable (C++ oui,C non).
Il existe la possibilité de les simuler mais pour cela il faut reprogrammer les fonctions de base et la structure de données.