Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Type Def "variant + type" (bug?)

Résolu !
Accéder à la solution

Je crée une Type Def contenant un Variant dans lequel je place un Type.

 

Sur mon BD, se trouvent plusieurs constantes "Variant+Type" reliées à ce Type_Def.

 

Si je change le Type contenu dans le Variant du Type_Def ... mes constantes ne sont pas mises à jour (???)

 

 

SR1.png

 

 

Type Def ... ou Strict Type Def ... ne change rien au comportement observé  (!)

 

Un d'entre vous a-t-il déjà remarqué cela ?

 

Existe-t-il une explication à ça ? Est-ce un comportement voulu ? (et pourquoi ?)

 

Merci à tous.

0 Compliments
Message 1 sur 6
3 255 Visites
Solution
Accepté par ouadji

Retour aux bases, qu'est-ce qu'une déf. de type ? 🙂

 

Le type du variant est une partie intégrante de sa valeur. Et les instances d'une déf. de type de conservent pas les valeurs/valeurs par défaut.

 

Cdt,

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 2 sur 6
3 234 Visites

Bonjour Eric,

 

Je me doutais qu'il y avait un soucis de contenant/contenu.

Là est la confusion (que j'ai faite) ... une "déf de type" qui ne tient pas compte du type ... (?)

mais le piège est "variant" ... Le type du variant est une partie intégrante de sa valeur

Le type du contenant ... et le type du contenu!

 

 ... et je m'y suis laissé prendre ! jnark   Smiley frustré  Smiley heureux

 

belle journée Eric et merci.

 

 

0 Compliments
Message 3 sur 6
3 231 Visites

Salut,

 

Moi j'ai rencontré un problème similaire avec des types plus classiques!!

En gros, j'ai un cluster en typedef, ce cluster contient un menu déroulant lui même en typedef.

 

J'utilise un menu déroulant pour faire une sélection, mais où la valeur en sortie n'est pas 0,1,2,3... séquentiel, mais une valeur définie pour chaque cas (par ex: 1, 1.5, 2, ...).

Et lorsque j'ai mis à jour les valeurs de sorties associées aux cas dans mon typedef de menu déroulant, les instances de mon cluster déjà utilisées me fournissaient en sortie les valeurs définies dans le menu déroulant au moment de la création de l'instance. Il n'y a pas eu de mise à jour de l'instance par la mise à jour du typdef.

 

Eric, t'as une idée??

Est-ce que ma description est clair au moins??

 

A+

 

Olivier L. | Certified LabVIEW Developer


0 Compliments
Message 4 sur 6
3 213 Visites

Hello Olivier,

 

C'est une des nombreuses petites différences entre les menus déroulants et les énums 😉 L'enum est un type de données à part entière, mais les menus déroulants sont une représentation d'un simple entier. Pareil pour les combo box, qui sont une représentation d'une chaine, et pas un type de données natif.

 

Donc si tu travailles avec des objets en FA (commandes/indicateurs), tu dois passer par une typedef stricte si tu veux propager les valeurs de ton ring/combo box.

Pour les constantes, c'est grillé (une typedef stricte sur un diagramme n'a pas de sens et est castée en typedef automatiquement par LabVIEW), il n'y a pas vraiment de solution si ce n'est basculer la constante vers une commande, mettre à jour la typedef stricte, et la changer à nouveau en constante !

 

A+

Eric

 

 

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 5 sur 6
3 202 Visites

Ah ouais quand même!!! J'avais jamais fait attention à tous ces détails là!!

 

Merci pour l'info!!

 

A+

Olivier L. | Certified LabVIEW Developer


0 Compliments
Message 6 sur 6
3 199 Visites