VIs Callback
- Mise à jour2025-08-27
- Temps de lecture : 3 minute(s)
Un VI Callback contient le code que vous écrivez pour gérer un événement ActiveX ou .NET spécifié. Vous devez créer un VI Callback pour gérer les événements qui proviennent de contrôles ActiveX ou d'objets .NET lorsque ces contrôles ou ces objets génèrent les événements auxquels vous êtes abonné. Le VI Callback s'exécute lorsque l'événement a lieu. Lorsque vous créez un VI Callback, LabVIEW crée un VI réentrant que vous pouvez ouvrir et éditer pour gérer un événement. Un VI Callback contient les éléments suivants :
-
Données d'événement communes contient les éléments suivants :
- Source d'événement est une commande numérique qui spécifie la source de l'événement, comme LabVIEW, ActiveX ou .NET. Une valeur de 1 indique un événement ActiveX. Une valeur de 2 indique un événement .NET.
- Type d'événement spécifie quel événement s'est produit. Il s'agit d'un type énumération pour les événements de l'interface utilisateur et d'un entier non signé 32 bits pour les sources d'événements ActiveX, .NET ou autres. Pour les événements ActiveX, le type d'événement représente le code de la méthode, ou ID, de l'événement détecté. Vous pouvez ignorer cet élément pour .NET.
- Horodatage est l'horodatage en millisecondes spécifiant à quel moment l'événement a eu lieu.
- Ref de commande est une référence à l'objet refnum Automation, ActiveX ou .NET sur lequel l'événement a eu lieu.
- Données sur l'événement est un cluster des paramètres spécifiques à l'événement que le VI Callback gère. LabVIEW détermine les Données d'événement appropriées lorsque vous sélectionnez un événement dans la fonction Enregistrer un VI Callback d'événement. Si un événement n'a pas de données qui lui sont associées, LabVIEW ne crée pas cette commande dans le VI Callback.
- Données d'événement en sortie est un cluster des paramètres modifiables spécifiques à l'événement que le VI Callback gère. Cet élément n'est disponible que si l'événement ActiveX ou .NET possède des paramètres en sortie.
- (Facultatif) paramètre utilisateur correspond aux données que vous voulez transmettre au VI Callback lorsque l'objet ActiveX ou .NET génère l'événement.
Pour que les VIs Callback puissent s'exécuter sans interruption, LabVIEW reporte le traitement des messages du système d'exploitation jusqu'à ce que les VIs Callback aient terminé de s'exécuter ou jusqu'à ce que vous chargiez une fenêtre modale. Lorsque LabVIEW reporte le traitement des messages du système d'exécution, vous ne pouvez pas interagir avec les faces-avant de LabVIEW. Une fenêtre modale est un type de fenêtre qui reste active ou qui reste au premier plan par rapport à toutes les autres fenêtres jusqu'à ce que vous fermiez cette fenêtre ou que vous ouvriez une autre fenêtre modale. Vous ne pouvez pas interagir avec d'autres fenêtres tant qu'une fenêtre modale est ouverte. La plupart des boîtes de dialogue dans LabVIEW sont des fenêtres modales.
Vous ne pouvez pas ouvrir de fenêtre non modale à partir d'un VI Callback de LabVIEW ni de DLL tant que tout autre processus est en cours. Reportez-vous à la section Appel de fenêtres non modales par programmation pour obtenir des informations complémentaires sur l'appel d'une fenêtre non modale à partir d'un VI Callback ou d'une DLL.
|
Remarque Les objets ActiveX appellent des VIs Callback ActiveX simultanément. Cela signifie qu'il se peut que l'objet ne soit pas en mesure d'exécuter du code supplémentaire pendant l'exécution du callback et peut causer des blocages. Assurez-vous particulièrement que vous prenez en compte les interactions entre le diagramme du VI Callback et le code supplémentaire. Par exemple, appeler un sous-programme non réentrant dans un VI Callback ActiveX pourrait provoquer un blocage si vous appelez le VI Callback alors que le sous-programme est déjà en cours d'exécution. |