NOINTER

Sommaire


Nointerpermet de rendre un traitement non interruptible depuis le clavier ou aucontraire de le rendre interruptible.

 

Syntaxe

   Nointer[ expr_l]

 

Paramètres

Elément

Description

Restrictions

expr_l

expression_logique.

Aucune.

 

Exemples

   # Pas d'interruption durant cettepartie de traitement
   Nointer : #Nointer 1, ou Inter 0 sont équivalents.
   #  ... suite du traitement...
   # Maintenant, on peut interrompre letraitement
   Nointer 0 : #Inter, ou Inter 1 sont équivalents.

 

Description et commentaires

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.INIet est modifiable.

Lorsqu'on frappe cette touche, une boite 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 étiquettelorsqu'on frappe sur la touche d'interruption, grâce à l'instruction Onintgo.Dans ce cas, il n'y a pas de message affiché par Adonix, mais le sous-programmedé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 être dumême niveau de localité que le traitement qui l'a initiée.

S'il y a une transaction en cours au moment où l'interruption est confirmée,elle est annulée automatiquement (Rollback) si le traitement appelé se terminepar End. 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.

Nointerpermet d'inhiber ou d'autoriser ce fonctionnement ; un traitement en mode Nointer nepourra être interrompu de la sorte.

 

Remarques

Par défaut, un traitement est en mode Nointer (non interruptible).

Un sous-programme lancé par Call devient interruptible si le traitement quil'a lancé était interruptible. Nointer dans un sous-programme permet de le rendreinterruptible (ou non interruptible), par contre il ne peut pas rendreinterruptible le traitement appelant.

Il est prudent de ne rester en mode Nointer 0 que durant le développementd'une application, afin de pouvoir interrompre un traitement qui se bloqueraitpar erreur, ou de pouvoir passer en debugger. Par contre, il est dangereux saufexception de laisser la possibilité à un utilisateur final d'interrompre à toutmoment un traitement. En outre, la scrutation permanente du clavier rendl'exécution des traitements plus lente.

Particularités Web

Non disponible en version Web.

Erreurs associées

Erreur

Description

ERMODE(10)

L'argumentn'est pas de type numérique.

 

Mots-clés associés

INTER - ONINTGO - TRBEGIN - COMMIT - ROLLBACK


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved