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 |
| CleanupGlobalVars | Suppression de variables globales. |
| CompareExchangeGlobalVar | Effectue un échange conditionnel atomique de la valeur d'une GlobalVar |
| DeleteGlobalVar | Supprime la variable globale ayant comme nom la valeur de n. |
| GlobalVarsNames | Retourne un tableau des noms des variables globales |
| GlobalVarsNamesCommaText | Liste tous les noms de variables globale comme CommaText (obsolète) |
| IncrementGlobalVar | Incrémente une variable globale |
| LoadGlobalVarsFromString | Description de LoadGlobalVarsFromString |
| ReadGlobalVar | Renvoie la valeur de la variable globale ayant comme nom la valeur de n. |
| ReadGlobalVarDef | Renvoie la valeur de la variable globale ayant comme nom n. |
| SaveGlobalVarsToString | Description de SaveGlobalVarsToString |
| TryReadGlobalVar | Tente de lire une variable globale |
| WriteGlobalVar | Affecte la valeur de v à la variable globale ayant comme nom la valeur de n. |