4D v16.3

Indefinie

Accueil

 
4D v16.3
Indefinie

Indefinie 


 

Indefinie ( variable ) -> Résultat 
Paramètre Type   Description
variable  Variable, Champ in Variable à tester
Résultat  Booléen in 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.

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.



Voir aussi  

EFFACER VARIABLE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Variables
Numéro : 82
Nom intl. : Undefined

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)