version 11 (Modifiée)
Indefinie (variable) Booléen
Paramètre | Type | Description | |
variable | Variable | Variable à tester | |
Résultat | Booléen | Vrai = Variable actuellement indéfinie | |
Faux = Variable actuellement définie |
Description
Indefinie retourne Vrai si variable n'a pas été définie, et Faux si variable a été définie. Une variable est définie si elle a été créée via une directive de compilation ou si une valeur lui a été assignée. Elle est indéfinie dans les autres cas.
Si la base de données a été compilée, la fonction Indefinie retourne Faux pour toutes les variables.
Exemple
Votre application gère un process lorsqu'une commande de menu d'un module particulier de la base est sélectionnée : si le process est déjà créé, vous le passez au premier plan ; s'il n'est pas créé, vous le démarrez. Pour cela, pour chaque module de votre application, vous gérez une variable interprocess <>PID_... initialisée dans la Méthode base Sur ouverture.
Au cours du développement de la base, vous ajoutez de nouveaux modules. Au lieu de devoir à chaque fois modifier la Méthode base Sur ouverture (pour ajouter l'initialisation de la variable <>PID_... correspondante) puis quitter et réouvrir la base pour tout réinitialiser, vous utilisez la fonction Indefinie pour gérer "à la volée" l'ajout d'un nouveau module :
` Méthode projet M_AJOUT_CLIENTS Si (Indefinie(<>PID_AJOUT_CLIENTS)) ` Prise en compte des étapes de développement intermédiaires C_ENTIER LONG(<>PID_AJOUT_CLIENTS) <>PID_AJOUT_CLIENTS:=0 Fin de si Si (<>PID_AJOUT_CLIENTS=0) <>PID_AJOUT_CLIENTS:=Nouveau process("P_AJOUT_CLIENTS";64*1024;"P_AJOUT_CLIENTS") Sinon MONTRER PROCESS(<>PID_AJOUT_CLIENTS) PASSER AU PREMIER PLAN(<>PID_AJOUT_CLIENTS) Fin de si ` Note: P_AJOUT_CLIENTS, la méthode de gestion des process, `fixe <>PID_ADD_CUSTOMERS à zéro lorsqu'elle est terminée.
Référence