Discussions au sujet de NI LabVIEW

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

bug structure condition : intitulé de l'etape different du menu contextuel

Voici un petit bug qui m'a donné du fil a retordre.

au départ j'ai voulu modifier une condition définie par string en ajoutant des accents. mais le code ne voulait toujours pas fonctionner.

au bout d'un certain temps je me suis rendu compte que, malgré que le champ étape de la structure condition contenait les accents, son menu contextuel de sélection des étapes ne les affichait pas.

 

Sans titre.png

 

pour résoudre ce problème, j'ai décâblé et recâblé le fil de condition

Pierre FCentum TNS, Grenoble
Certified LabVIEW Associated Developer
0 Compliments
Message 1 sur 18
3 251 Visites

Bonjour Pierre,

 

Quelle est la question derrière ton post ? De mon côté je n'arrive pas à reproduire ce problème. Pourrais-tu m'en dire plus sur ce que tu as fait ?

 

Merci

Maxime L
Certified LabVIEW Architect
National Instruments
0 Compliments
Message 2 sur 18
3 215 Visites

Quelle est la version de LV sous laquelle tu as remarqué cette anomalie ?

0 Compliments
Message 3 sur 18
3 197 Visites

Ma version est labview 2015 pas de service pack

 

je n'ai malheureusement pas réussi a résoudre le problème

 

a l'origine, mon programme générait des erreurs de conditions manquantes car a des endroits, il y avait "déja passé" avec accent, et a d'autres endroits, "deja passe" sans accent. j'ai donc decidé de rechercher les champs avec accent via CTRL+F, copier-coller vers les sans accents. ceci fait, nouvelle recherche sans accent pour m'assurer qu'ils avaient tous été eradiqués.

 

les objets concernés étaient des constantes strings et des étapes de condition

 

le bug a perduré malgré tous ces renommages, et c'est par hasard, en épluchant les etapes de la structure condition que j'ai remarqué que le menu contextuel affichait la version sans accent.

 

mystere 🙂

Pierre FCentum TNS, Grenoble
Certified LabVIEW Associated Developer
0 Compliments
Message 4 sur 18
3 173 Visites

à première vue, comme tu expliques, "ça sent" le petit cancrelat.

C'est toujours le problème de pouvoir "reproduire" ... un bug que l'on ne peut pas reproduire est d'office un cul-de-sac sans solution. Apparemment, tu n'as pas réussi à contourner et ton code présente toujours une anomalie. As-tu essayé d'isoler une portion de code minimum où le problème se présente toujours. Soit, isoler cette structure condition, accompagnée d'un minimum de code incompressible, le tout ayant "toujours" le menu contextuel qui pose soucis. Ce serait intéressant de voir (chercher) à partir de quelle réduction de code ce menu contextuel va se resynchroniser sur du cohérent. Est-il possible pour toi de partager ce code qui pose problème ?

0 Compliments
Message 5 sur 18
3 160 Visites

A mon humble avis, les causes les plus probables sont :

  • certains VIs n'étaient pas inclus dans la recherche pour le remplacement des textes
  • certains VIs n'ont pas été mémorisés après le remplacement des textes

Si vous modifiez les textes d'un VI puis le mémorisez et que les textes reprennent leurs valeurs initiales, nous sommes véritablement en face d'un gros bug dont je n'ai encore jamais entendu parler. 

 

@ouadji : La "Case Structure" étant pilotée par une chaîne de caractères, je ne vois pas comment ou sur quoi les noms de ses états pourraient se synchroniser.

0 Compliments
Message 6 sur 18
3 148 Visites

Pierre_F évoque une incohérence entre les noms des états réels et ces mêmes noms dans le menu de sélection des états. J'ai compris par là le menu que l'on obtient par un clic sur la flèche contenue dans le "selector label". Avec accents pour l'un, sans accents pour l'autre. Si ma compréhension des choses constatées est correcte, on pourrait en effet y voir un bug. Quel que soit le contexte (VIs inclus/ou non, mémorisés/ou non... ceci dit, l'idée est bonne) il me semble anormal de se trouver devant un code "qui n'est pas cassé" avec une structure condition dont les états réels ne correspondent pas à ceux repris dans le menu de sélection des états de cette même structure. (d'où bug éventuel). Là ... je me suggérais de réduire le code pour voir (par curiosité) à quel moment de réduction ce menu de sélection retrouverait (ou pas) sa conformité par rapport aux états réels. Le terme "synchroniser" n'est peut-être pas le meilleur pour exprimer cette idée. L'ensemble du descriptif de Pierre_F et l'idée d'un bug m'a fait pensé que LV n'avait pas mis à jour le menu de sélection ... d'où l'idée de voir à quel moment il le ferait (ou pas).

0 Compliments
Message 7 sur 18
3 133 Visites

Attention Ouadji,


Dans le cadre de structure "case", ton Vi n'apparaitra pas avec la flèche brisée, du moment que tu as choisi un état "par défaut".


Labview te laisse le choix de ne pas câbler un cas pour chaque évènement.


Après il faut dissocier de cas de fonctionnement :

1- un "enum" de connecter  à la structure "case", dans ce cas là, labview va générer de lui même le nom des différentes étapes.

2 - une commande "string" cablée à la structure "case", et dans ce cas là, c'est à toi de remplir manuellement les différents possibilités, comme on le ferait avec une commande numérique d'ailleurs. Dans le cadre d'une commande chaîne, il est possible de préciser à LV de gérer la casse dans la structure case au travers d'une option disponible via clic droit.


Cdt,

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 8 sur 18
3 124 Visites

ok pour tout Michael.

Mais je reste cramponné à ce qui est pour moi l'essentiel du constat de Pierre_F. Le menu du selector label ne reflète pas à l'identique l'ensemble des états codés dans la structure case. D'un côté on a une version avec accent, et de l'autre sans. Et ça, quel que soit le contexte, ou ceci, ou cela, je me dis que LV à loupé une mise à jour du menu des états. Quelque part, comment pourrait-il en être autrement ? A mon sens il n'est pas possible d'envisager un raisonnement, quel qu'il soit, qui donnerait un sens logique et donc qui légitimerait ce comportement. Je pense que nous sommes tous bien d'accord à ce sujet (enfin, je pense). C'est dans ce sens que j'aurais aimé "jouer" avec ce code (le bousculer un peu dans tous les sens) pour voir à quel moment LV va, ou ne va pas, se rendre compte de la différence et mettre à jour son menu.

0 Compliments
Message 9 sur 18
3 112 Visites

Nous sommes clairement dans le cas 2 mentionné par Michael. Les noms des états ont été définis par le développeur en le tapant au clavier. Aucune possibilité pour LV de se synchroniser avec quoi que ce soit. Je ne vois donc pas en quoi il serait possible de jouer avec ce code pour tenter de reproduire un problème d'actualisation de LV. Avec un enum, ce serait différent.

 

Ce que je comprends est que l'auteur de la question avait d'abord défini les noms sans les accents. Puis il a effectué un "rechercher - remplacer" pour les remplacer par les textes avec les accents. A mon avis, la cause la plus probable est qu'une partie des VIs n'étaient pas inclus dans la recherche ou qu'ils n'avaient pas été sauvegardés après.

 

 

0 Compliments
Message 10 sur 18
3 095 Visites