INTER |
Interpermet de rendre un traitement interruptible depuis le clavier ou au contrairede le rendre non interruptible.
Inter[ expr_l]
Elément | Description | Restrictions |
expression_logique. | Aucune. |
# Pas d'interruption durant cettepartie de traitement
# ... suite du traitement...
# Maintenant, on peut interrompre letraitement
Un traitement Adonix peut être interrompu au cours de son exécution par lafrappe d'une séquence de touches appelée "séquence d'interruptionsoft". On utilise communément la séquence de touches <CTRL> +<ALT> + <Q> à cette fin. La touche <Q> est définie par défautdans le fichier de configuration X3.INI et elle est modifiable.
Lorsqu'on frappe cette touche, une boîte de question affiche le messagesuivant: 'Exécution interrompue en ligne N ... Voulez-vous arrêter (O/N)?'. Sil'on répond Non à cette question, le traitement reprend son cours, sinon il estinterrompu.
Un traitement rendu interruptible peut être dérouté sur une étiquette grâceà l'instruction Onintgo, lorsqu'on frappe sur la touche d'interruption. Dans cecas, il n'y a pas de message affiché par Adonix, mais le sous-programme définià l'étiquette est exécuté avec un retour possible au traitement .
Le traitement de gestion de l'interruption ne peut en aucun cas terminer unetransaction, que ce soit par Commit ou par Rollback, car il ne peut pas être dumême niveau de localité que le traitement qui l'a initiée.
S'il y a une transaction en cours quand l'interruption est confirmée, elleest annulée automatiquement (Rollback) si le traitement appelé se termine parEnd. L'utilisateur en sera averti.
Dans un contexte de développement, il peut être intéressant d'interrompre untraitement soit définitivement, soit le temps de passer en mode trace dudebugger ou de vérifier la valeur d'une variable.
Interpermet d'autoriser ou d'inhiber ce fonctionnement; un traitement en mode
Par défaut, un traitement est en mode
Un sous-programme lancé par Call devient interruptible si le traitement quil'a lancé était interruptible. Inter dans un sous-programme permet de le rendreinterruptible (ou non interruptible), par contre il ne peut pas rendreinterruptible (ou non interruptible) le traitement appelant.
Il est prudent de ne rester en mode
Non disponible en version Web.
ERMODE(10) | L'argumentn'est pas de type numérique. |
NOINTER - ONINTGO - TRBEGIN - COMMIT - ROLLBACK
Adonix X3(r) L4G |