| 4D v13.4Indefinie | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v13.4
 Indefinie 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indefinie ( variable ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| variable | Variable |   | Variable à tester | |||||
| Résultat | Booléen |   | Vrai = Variable actuellement indéfinie Faux = Variable actuellement définie | |||||
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.
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.
	Produit :  4D
	Thème :  Variables
	Numéro :  
        82
        
        
        
	Nom intl. :  Undefined
     Liste alphabétique des commandes
    Liste alphabétique des commandes
	Modifié :  4D v11 SQL