Les classes et interfaces LabVIEW sont des types de données définis par l'utilisateur. Les développeurs de classes et interfaces LabVIEW créent et distribuent ces types de données. L'utilisateur de classes ou d'interfaces LabVIEW n'a pas besoin de savoir comment créer une classe ou une interface LabVIEW ; par contre, il doit savoir comment utiliser le type de données défini par une classe ou une interface dans une application, quelles sont les informations disponibles pour mettre au point le code qui utilise des classes ou interfaces LabVIEW, et dans quelle mesure une nouvelle version d'une classe ou d'une interface LabVIEW affecte l'application qu'il a construite.

Création d'une instance de classe ou d'interface

La classe ou interface LabVIEW n'a pas besoin d'être dans le projet. Vous pouvez ajouter la classe ou interface LabVIEW à la palette pour la retrouver facilement et la faire glisser vers le diagramme ou la face-avant. Pour créer une instance de la classe ou interface LabVIEW que vous recevez ou que vous créez, placez le fichier de bibliothèque de classe .lvclass comme commande ou constante sur la face-avant ou le diagramme où vous voulez l'utiliser. Vous pouvez utiliser un type de données défini par utilisateur LabVIEW comme les autres types de données LabVIEW.

En utilisant la fenêtre Navigateur de classes, vous pouvez placer des VI membres de la classe ou de l'interface LabVIEW sur le diagramme.

Contrainte des classes et des interfaces LabVIEW

LabVIEW contraint les classes et les interfaces à la classe ou interface parent commune la plus proche avec les règles suivantes :

  • Si les classes et les interfaces en entrée ne sont pas liées, LabVIEW contraint les entrées à Objet LabVIEW.
  • Si les classes et les interfaces en entrée n'ont qu'un seul parent commun, qu'il s'agisse d'une classe ou d'une interface, LabVIEW contraint les entrées au parent commun.
  • Si les classes et les interfaces en entrée ont plusieurs parents communs, dont une classe, LabVIEW contraint les entrées à la classe parent commune. Pour forcer LabVIEW à contraindre les entrées à une interface parent commune, convertissez l'une des entrées dans le type parent souhaité à l'aide de la fonction En une classe plus générique.
  • Si les classes et les interfaces en entrée ont plusieurs parents communs qui sont tous des interfaces, le VI est brisé. Pour forcer LabVIEW à contraindre les entrées à une interface parent commune, convertissez l'une des entrées dans le type parent souhaité à l'aide de la fonction En une classe plus générique.

Utilisation de l'aide contextuelle et de sondes avec des classes ou interfaces LabVIEW verrouillées

Le développeur de classes ou d'interfaces LabVIEW peut verrouiller la classe ou interface LabVIEW à la distribution. Si le développeur de classes ou d'interfaces LabVIEW verrouille une classe ou une interface LabVIEW, la fenêtre d'Aide contextuelle n'affiche que le type de données de la classe ou interface et sa description, si le développeur l'a créée. De même, LabVIEW n'affiche que le type de données de la classe ou interface dans la sonde générique d'une classe ou interface verrouillée. Vous pouvez créer une sonde personnalisée pour une classe ou interface LabVIEW sans qu'elle soit membre de la classe ; cependant, elle ne pourra afficher que l'interface publique de la classe ou interface. Le développeur de classes ou d'interface LabVIEW peut aussi définir une sonde par défaut personnalisée pour la classe ou l'interface afin de fournir des informations de classe ou interface spécialement pour la mise au point. Demandez au développeur de classes ou d'interfaces LabVIEW de fournir une documentation suffisante et les informations nécessaires sur la sonde pour pouvoir travailler avec la classe ou l'interface LabVIEW.

VIs de dispatch dynamique

Certains VIs membres d'une classe ou d'une interface LabVIEW peuvent être de dispatch dynamique. Les méthodes de dispatch dynamique sont similaires aux VIs polymorphes. Alors que les VIs polymorphes déterminent quel VI appeler en fonction du type de données câblé, les méthodes de dispatch dynamique attendent l'exécution pour déterminer quel VI membre de la hiérarchie de classes appeler en fonction des données qui parviennent au terminal d'entrée. Un fil de liaison d'une classe ou d'une interface LabVIEW peut transférer des données de son propre type ou d'un type enfant ; LabVIEW détermine donc quel VI membre de la hiérarchie de classes il doit exécuter au moment de l'exécution. Vous pouvez double-cliquer sur un VI membre de dispatch dynamique du diagramme pour déterminer quel est le VI exécuté. Pour afficher les autres VIs membres de dispatch dynamique dans la hiérarchie de classes, vous devez afficher chaque VI dans la hiérarchie.

Mutation des données

Le suivi du numéro de version de la classe ou de l'interface LabVIEW est pratique pour les utilisateurs de classes LabVIEW qui développent des applications avec des classes ou des interfaces LabVIEW. Supposons, par exemple, que vous ayez une classe LabVIEW dans une application qui utilise un entier 32 bits non signé dans la commande de données privées de la classe. Un développeur de classes LabVIEW peut vous envoyer une version de la classe LabVIEW qui change la commande numérique de la commande de données privées en nombre à virgule flottante double précision. Comme LabVIEW effectue un suivi des modifications de version et peut aplatir et redresser les données de toutes les classes LabVIEW, vous pouvez remplacer l'ancienne version de la classe LabVIEW par la nouvelle et exécuter le programme sans le modifier.

Remarque Si vous essayez de redresser des donnée à partir d'une version ultérieure de la classe LabVIEW, LabVIEW renvoie une erreur. Par exemple, cette erreur peut survenir si les données ont le numéro de version 1.0.0.3 alors que la classe LabVIEW en mémoire a le numéro de version 1.0.0.2.