2008-09-26 10 views
3

J'ai un tableau d'objets de classe de base dans lequel j'ai typé de nombreux objets de classe enfant différents et je le passe à un sous-VI. Y at-il un moyen par lequel je peux trouver le type d'origine de l'objet de chaque élément individuel dans le tableau?Objets LabVIEW

Merci ...

Répondre

3

Pour la postérité, ceci a été croisé avec les forums LAVA. L'utilisateur Aristos file d'attente, l'un des développeurs de natifs fonctionnalités OO de LabVIEW, a répondu ce qui suit:

En utilisant une méthode de répartition dynamique dans toutes les classes est la méthode recommandée pour manipuler ce, bien que la recommandation est de créer une méthode cela fait tout ce que vous essayez de faire. Je suppose que vous pensez à une méthode de répartition dynamique qui retourne un nom ou un ID de l'objet afin que vous puissiez dire: «Est-ce égal à cela? Ok, alors ce doit être cette classe ...» et vous faites l'action X si c'est cette classe. Si vous écrivez une méthode de répartition dynamique ActionX.vi et que vous la remplacez de manière appropriée, vous économiserez sur les performances et vous aurez plus de facilité pour la maintenance du code dans le futur. Vous pouvez également utiliser le noeud To More Specific pour tester si un objet donné peut être converti en un type donné - ceci permet de tester l'héritage par opposition à la comparaison de nom ou d'ID qui ne fait que l'équivalence de type. Si le nœud To More Specific renvoie une erreur, il ne s'agit pas du type de destination.

Ainsi, vos options sont (par ordre de préférence):

    méthode de répartition dynamique
  • qui fait l'action
  • Pour plus nœud spécifique pour faire des tests de type
  • méthode de répartition dynamique qui retourne le nom/ID de la classe de l'objet
  • Get chemin de LabVIEW Object.vi (livré en vi.lib dans LabVIEW 8.5 mais pas ajoutées aux palettes jusqu'à ce que LabVIEW 8,6)
1

NI a une bonne overview of LVOOP qui est incontournable, puisque OO est mis en œuvre de manière unique pour LabVIEW.

Avez-vous essayé les fonctions 'to more generic class' et 'to more specific class', dans la palette de contrôle des applications?

+0

En fait, j'ai besoin d'une méthode pour identifier la classe enfant à laquelle elle appartient. Je ne veux pas le convertir. – Manoj