Load list
Load list ( nomListe ) -> Résultat
Paramètre | Type | Description | |
---|---|---|---|
nomListe | Text | → | Nom de liste créée dans l'éditeur d'énumérations |
Résultat | Integer | ← | Numéro de référence de la liste nouvellement créée |
Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.
Description
La commande Load list crée une liste hiérarchique dont le contenu est copié depuis la liste nomListe créée en mode Développement, dans l'éditeur d'énumérations. La fonction retourne le numéro de référence de la liste nouvellement créée.
Pour connaître les énumérations définies dans la base, utilisez la commande LIST OF CHOICE LISTS. Pour savoir si la liste a correctement été chargée, utilisez la fonction Is a list avec le numéro de référence retourné par Load list.
Notez que la nouvelle liste est une copie de la liste définie en mode Développement. Par conséquent, toute modification apportée à cette nouvelle liste n'affectera pas la liste définie en mode Développement. De même, toute modification ultérieure de l'énumération n'affecte pas la liste que vous venez de créer.
Si vous modifiez la liste nouvellement créée et voulez enregistrer ces modifications, utilisez la commande SAVE LIST.
Si vous n'avez plus besoin de la liste, n'oubliez pas d'appeler CLEAR LIST pour la supprimer. Sinon, elle reste en mémoire jusqu'à la fin de la session de travail ou jusqu'à ce que le process dans lequel la liste a été créée soit détruit.
Astuce : Si vous associez une liste à un objet de formulaire (liste hiérarchique, onglet ou menu hiérarchique) à l'aide du menu Enumération dans la Liste des propriétés, il est inutile d'appeler Load list ou CLEAR LIST dans la méthode de l'objet. 4D charge et efface la liste automatiquement pour vous.
Exemple
Imaginons que vous créez une base pour le marché international. Vous voulez pouvoir changer la langue utilisée. Dans un formulaire, vous présentez une liste hiérarchique listeHL qui propose les langues disponibles. En mode Développement, vous avez préparé des listes différentes, par exemple “Options US” pour la version anglaise, “Options FR” pour la version française, “Options ES” pour la version espagnole, etc. De plus, vous maintenez la variable interprocess <>gaLangueCourante dans laquelle vous stockez un code de langue sur 2 caractères, par exemple “US” pour la version anglaise, “FR” pour la version française, “ES” pour la version espagnole, etc. Pour vous assurer que la liste correcte sera chargée en utilisant la langue choisie, vous pouvez écrire :
// Méthode objet de la liste hiérarchique listeHL
Case of
:(FORM Event=On Load)
var listeHL : Integer
listeHL:=Load list("Options"+<>gaLangueCourante)
:(FORM Event=On Unload)
CLEAR LIST(listeHL;*)
End case