Close permet de supprimer de la mémoire les tables et les masques ouverts dans l'application courante ainsi que les "boîtes-écran".
Close [ Local ] File [ liste_classes ]
Close [ Local ] Mask [ liste_classes ]
Close [ Local ] < Inpbox | Dlgbox | Mesbox > [ liste_classes ]
Elément | Description | Restrictions |
liste_classes | Liste de classes séparées par le caractère ','. | Les classes doivent correspondre à des |
# Fermeture de toutes les tables
Close File
# Fermeture des masques CLIENT et FACTURE
Close Local Mask [CLI], [FAK]
# Suppression de la mémoire de toutes les boîtes ouvertes par Inpbox
Close Inpbox
L'instruction Close File permet de supprimer de la mémoire tout ou partie des tables ouvertes. Pour refermer uniquement des tables ouvertes localement (donc par des Local File), il faudra faire suivre l'instruction Close du mot-clé Local.
Close File referme toutes les tables ouvertes par un ordre File ou Local File.
Close Mask et Close Local Mask ont un fonctionnement symétrique pour les masques, à celui de Close File et Close Local File pour les tables.
Les listes de tables et de masques par défaut sont mises à jour par Close.
L'instruction Close suivie de Inpbox, Dlgbox ou Mesbox supprime de la mémoire les OBJets-écrans déclarés par ces mêmes instructions et dont les abréviations sont données en argument (toutes par défaut). Dans le cas d'un Close suivi de Local, seules les boîtes ouvertes localement à un sous-programme ou un traitement seront refermées.
L'instruction Close File (ou Close Local File) fait un Unlock implicite des tables concernées (toutes par défaut). En effet, l'ordre
File utilise un verrou système par table et ce verrou est libéré lorsque la table est refermée (soit automatiquement par Adonix lorsque la table n'est plus utilisée, soit par l'instruction Close).
Cependant, dans le cas où une table a été verrouillée globalement par Lock ou parcourue par des Readlock, on se gardera de faire des Close File sans les Unlock adéquats, de façon à garder visible la logique de programmation.
Si on fait un Close File (ou Close Local File) à l'intérieur d'une transaction, les verrous et les canaux ne seront libérés qu'à la fin
de la transaction.