Par défaut, LabVIEW verrouille la face-avant d'un VI qui génère un événement. Ce comportement garantit que LabVIEW gère les événements de manière prévisible et évite les conflits entre les événements.

Le verrouillage de la face-avant lorsque LabVIEW gère un événement se comporte comme suit :

  • LabVIEW verrouille la face-avant d'un VI lorsqu'un événement généré à partir d'un objet de cette face-avant entre dans la file d'attente d'événements.
  • Lorsque la face-avant est verrouillée, LabVIEW place les interactions de la face-avant dans un tampon.
  • La face-avant reste verrouillée jusqu'à ce que toutes les structures Événement aient fini de traiter cet événement.
  • LabVIEW gère ensuite les interactions ultérieures lorsque la face-avant se déverrouille.

Prenons, par exemple, un cas d'événement qui lance une application nécessitant une saisie de texte de la part de l'utilisateur. L'utilisateur peut commencer à taper avant que l'application n'apparaisse sur la face-avant.

  • Si la face-avant est verrouillée, une fois que l'application est lancée et qu'elle apparaît sur la face-avant, elle traite les frappes de touches dans l'ordre dans lequel elles ont eu lieu.
  • Si la face-avant est déverrouillée, les frappes de touches peuvent être traitées ailleurs sur la face-avant. En effet, LabVIEW ne place pas leur exécution en file d'attente pour dépendre de la fin du cas d'événement.

Le verrouillage de la face-avant pour la gestion d'événements n'affecte pas certaines actions, telles que :

  • Déplacement de la fenêtre
  • Interaction avec les barres de défilement
  • Cliquer sur le bouton Abandonner l'exécution ()
Remarque Si un cas d'événement qui verrouille la face-avant met beaucoup de temps à s'exécuter, songez à utiliser la fonction Définir à Occupé ou afficher une boîte de dialogue pour avertir l'utilisateur que la face-avant est verrouillée.
Avertissement Si aucune structure Événement ne s'exécute rapidement pour traiter un événement et que le verrouillage de la face-avant est activé, l'interface utilisateur du VI risque de ne pas répondre. Dans ce cas-là, cliquez sur le bouton Abandonner l'exécution () pour arrêter le VI. Vous pouvez aussi désactiver le verrouillage de la face-avant pour les événements de notification basés sur l'interface utilisateur.

Désactivation du verrouillage de la face-avant pour les événements de notification

Vous pouvez désactiver le verrouillage de la face-avant pour les événements de type notification à partir de l'interface utilisateur. Utilisez cette fonctionnalité pour éviter que l'interface utilisateur de votre VI n'apparaisse figée si la gestion d'événements prend beaucoup de temps.

Lorsqu'un événement d'une face-avant déverrouillée entre dans une file d'attente, toutes les commandes, y compris celle qui a généré l'événement, peuvent encore générer des événements.

Lorsque plusieurs événements se produisent et que le verrouillage de la face-avant est désactivé, LabVIEW n'attend pas que la face-avant se déverrouille avant de les gérer.

Remarque Vous ne pouvez pas désactiver cette option pour des événements de type filtre, car LabVIEW ne peut pas terminer de traiter un événement de ce type tant que son cas n'est pas terminé. Permettre à LabVIEW de traiter d'autres événements alors qu'il est en train de gérer un événement de type filtre peut affecter l'ordre des événements.

Pour désactiver le verrouillage de la face-avant pour les événements de type notification, effectuez les étapes suivantes.

  1. Cliquez avec le bouton droit sur la bordure de la structure Événement et sélectionnez Éditer les événements gérés par cette condition.
    La boîte de dialogue Éditer les événements apparaît.
  2. Dans la zone Événements, sélectionnez les événements de type notification à déverrouiller.
    Astuce Les événements de type notification sont affichés avec une flèche verte. Les événements de type filtre sont indiqués par une flèche rouge.
  3. Décochez la case Verrouiller la face-avant (reporter le traitement des actions de l'utilisateur) jusqu'à la fin de l'exécution de la condition d'événement.