4D v16.3Undefined |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Undefined
|
Undefined ( variable ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
variable | Variable, Champ |
![]() |
Variable à tester | |||||
Résultat | Booléen |
![]() |
Vrai = Variable actuellement indéfinie Faux = Variable actuellement définie | |||||
Undefined 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 Undefined retourne Faux pour toutes les variables.
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 On Startup database method.
Au cours du développement de la base, vous ajoutez de nouveaux modules. Au lieu de devoir à chaque fois modifier la On Startup database method (pour ajouter l'initialisation de la variable <>PID_... correspondante) puis quitter et réouvrir la base pour tout réinitialiser, vous utilisez la fonction Undefined pour gérer "à la volée" l'ajout d'un nouveau module :
// Méthode projet M_AJOUT_CLIENTS
If(Undefined(<>PID_AJOUT_CLIENTS)) // Prise en compte des étapes de développement intermédiaires
C_LONGINT(<>PID_AJOUT_CLIENTS)
<>PID_AJOUT_CLIENTS:=0
End if
If(<>PID_AJOUT_CLIENTS=0)
<>PID_AJOUT_CLIENTS:=New process("P_AJOUT_CLIENTS";64*1024;"P_AJOUT_CLIENTS")
Else
SHOW PROCESS(<>PID_AJOUT_CLIENTS)
BRING TO FRONT(<>PID_AJOUT_CLIENTS)
End if
// Note: P_AJOUT_CLIENTS, la méthode de gestion des process,
// fixe <>PID_ADD_CUSTOMERS à zéro lorsqu'elle est terminée.
Produit : 4D
Thème : Variables
Numéro :
82
Modifié : 4D v11 SQL
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)