Aller au contenu principal
Version: Next

IDLE

IDLE

Ne requiert pas de paramètre

Description

IDLE est destinée uniquement à une utilisation avec le compilateur. En effet, seul le moteur de 4D peut détecter un événement. Il était donc nécessaire, dans le cadre d'une base compilée, qu'une routine puisse interroger le moteur de 4D afin de savoir si un événement s'est produit. Cette commande doit donc être utilisée lorsque vous employez la commande ON EVENT CALL.
Par exemple, si une méthode exécute une boucle dans laquelle aucune commande 4D n'est appelée, la boucle ne pourra pas être interrompue par un process installé à l'aide d' ON EVENT CALL, et l'utilisateur ne pourra pas ouvrir une autre application. Dans ce cas, IDLE doit être insérée pour que 4D puisse intercepter les événements. Bien entendu, n'utilisez pas IDLE si vous ne voulez aucune interruption.

Exemple

Dans l'exemple suivant, la boucle ne se terminerait jamais dans une base compilée sans l'aide de IDLE :

  // Méthode Traitement quelconque
 ON EVENT CALL("METHODE EVENEMENT")
 ◊vbArrêt:=False
 MESSAGE("Traitement..."+Char(13)+"Tapez une touche pour interrompre l'exécution...")
 Repeat
  // Effectuer un traitement sans appel à une commande 4D
    IDLE
 Until(◊vbArrêt)
 ON EVENT CALL("")

La méthode METHODE EVENEMENT :

  // Méthode METHODE EVENEMENT
 If(Undefined(Keycode))
    Keycode:=0
 End if
 If(Keycode#0)
    CONFIRM("Voulez-vous vraiment interrompre cette opération ?")
    If(OK=1)
       ◊vbArrêt:=True
    End if
 End if

Voir aussi

Commandes du thème Compilateur
ON EVENT CALL