Bibliothèque GlobalVars

Les variables globales sont propres à une exécution d'un exécutable (Qubes.exe, QubesExpress.exe, QubesPeon.exe...) pour laquelle elles sont accessibles pour tous les scripts. En intranet, elles sont donc communes à tous les utilisateurs connectés pour une exécution d'un QubesExpress.exe donné.

Toutes les fonctions de variables globales sont atomiques, et peuvent être exécutées depuis n'importe qu'elle thread. Elle seront exécutées dans l'ordre de leur appel (en cas d'écriture multiple d'une même variable, le dernier appel gagnera).

Elles sont automatiquement supprimées à l'arrêt de l'exécutable. Il est cependant possible de les faire persister au travers de SaveGlobalVarsToString et LoadGlobalVarsFromString.

Elles sont destinées à stocker des données temporaires en mémoire, indépendamment de l'exécution d'un script, les opérations de lecture/écriture sont efficaces et des milliers de variables globales peuvent être gérées.

Chaque variable globale est identifiée par son nom, qui est sensible à la casse. En pratique, on peut considérer qu'il n'y a pas de limite sur la longueur du nom, mais il est recommandé d'utiliser un nom plutôt court et explicite. Pour les projets les plus complexes, il est recommandé d'utiliser des espaces de nom (namespaces) afin d'éviter les collisions (par exemple en séparant les domaines par un '.'). Exemple : on a 2 vues graphiques VUE001 et VUE002, qui correspondent à 2 postes opérateurs différents. Dans chacune des vues, on a besoin de stocker le nombre de pièces produites. On peut créer 2 variables globales VUE001.NbPiecesProduites et VUE002.NbPiecesProduites

Fonctions
CleanupGlobalVarsSuppression de variables globales.
CompareExchangeGlobalVarEffectue un échange conditionnel atomique de la valeur d'une GlobalVar
DeleteGlobalVarSupprime la variable globale ayant comme nom la valeur de n.
GlobalVarsNamesRetourne un tableau des noms des variables globales
GlobalVarsNamesCommaTextListe tous les noms de variables globale comme CommaText (obsolète)
IncrementGlobalVarIncrémente une variable globale
LoadGlobalVarsFromStringDescription de LoadGlobalVarsFromString
ReadGlobalVarRenvoie la valeur de la variable globale ayant comme nom la valeur de n.
ReadGlobalVarDefRenvoie la valeur de la variable globale ayant comme nom n.
SaveGlobalVarsToStringDescription de SaveGlobalVarsToString
TryReadGlobalVarTente de lire une variable globale
WriteGlobalVarAffecte la valeur de v à la variable globale ayant comme nom la valeur de n.