version 5
EFFACER VARIABLE (variable)
Paramètre | Type | Description | |
variable | Variable | Nom de la variable à effacer |
Description
La commande EFFACER VARIABLE fonctionne différemment en mode interprété et en mode compilé.
Mode interprété
EFFACER VARIABLE efface variable de la mémoire. En conséquence, la variable devient indéfinie : tenter de lire sa valeur génère une erreur de syntaxe. A noter que si par la suite vous assignez de nouveau une valeur à la variable, 4D, en mode interprété, la recréera à la volée. Lorsqu'une variable est effacée, la fonction Indefinie, si elle lui est appliquée, retourne Vrai.
Mode compilé
EFFACER VARIABLE réinitialise uniquement variable à la valeur par défaut de son type (par exemple chaîne vide pour les types Alpha et Texte, 0 zéro pour les variables numériques, aucun élément pour un tableau etc.). La variable existe toujours : les variables ne sont jamais indéfinies dans du code compilé.
La variable passée dans variable doit être une variable process ou interprocess.
Note : Il n'est pas nécessaire d'effacer les variables process à la fin de l'exécution d'un process, 4D s'en charge automatiquement.
Les variables locales, c'est-à-dire celles dont le nom est précédé du symbole dollar ($), ne peuvent être effacées par EFFACER VARIABLE. Toutefois, chaque variable locale est automatiquement effacée à la fin de l'exécution de la méthode dans laquelle elle a été créée.
Exemple
Dans un formulaire, vous utilisez une liste déroulante appelée asMalListeD n'ayant qu'un rôle d'interface utilisateur. Autrement dit, vous exploitez ce tableau lors de la saisie de données, mais une fois que le formulaire est refermé, vous n'en avez plus besoin. Par conséquent, lors de l'événement Sur libération, vous effacez simplement le tableau :
` Méthode objet liste déroulante asMalListeD Au cas ou : (Evenement formulaire=Sur chargement) ` Initialiser le tableau comme vous le souhaitez... TABLEAU ALPHA(63;asMalListeD;...) ` ... :(Evenement formulaire=Sur libération) ` Vous n'avez plus besoin du tableau EFFACER VARIABLE (asMalListeD) ` ... Fin de cas
Référence