le 11-16-2013 06:04 PM
une petite chose toute simple, mais que je trouve anormale.
Si je place ce "code_disabled" sur mon BD, LV me signale une erreur et me place mon vi en "broken".
Alors que la Structure "Disable" à pour but de désactiver une partie du code,
elle supporte sans problèmes un "wire loose end" ...
mais refuse un wire qui n'est connecté à rien.
Cela me semble absurde.
Cette Structure doit mettre OFF le code qu'elle contient, quel que soit ce code (c'est bien son but !)
Qu'en pensez-vous ? (Pour moi, c'est un bug.)
Résolu ! Accéder à la solution.
le 11-17-2013 11:40 AM
Salut tu es en LV 2013?
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS
le 11-17-2013 11:56 AM
Salut, cela fonctionne en LV2010 pour moi.
Par contre le code n’est pas si simple à faire. En effet LV ne veut pas mettre la structure « desable » autour d'un fil « broken ».
J’ai fait le test, le vi est « brisé » mais en déplaçant la structure, en réalité le fil était « derrière ».
J'ai été obligé de faire un code valide, mettre la structure desable et supprimer le controle et indicateur pour ne garder que le fil "broken".
Je me demande donc si ton fil brissé est bien dans la structure.
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS
le 11-17-2013 11:58 AM
le code si tu ne veux pas utiliser le snippet!
Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS
11-17-2013 12:30 PM - modifié 11-17-2013 12:31 PM
Bien vu Luc !
le fil "en l'air" n'était pas "dans" la Structure ... mais derrière.
Si je sors le fil et que je le replace dedans ensuite, c'est ok.
La question (ou le bug) se transforme ....
Pourquoi une Structure_Disable refuse-t-elle d'incorporer un fil qui n'est connecté à rien ??? étrange.
Quand veut modifier une partie du code et que l'on veut garder l'original sous la main, (petite modif en vitesse pour "voir")
on sélectionne la dite partie du code ... on fait CTRL_clic-gauche-souris_déplacer ...
on place vite fait une Structure_Disable autour ... et voilou, le bout de code est mis de côté.
Si on se plante dans la modif, on récupère le code d'origine tout facilement.
Et dans ce type de manip, on a souvent des fils qui ne sont connectés à rien.
(dans la partie du code que l'on prélève par un rectangle de sélection)
Donc, de temps en temps, ce comportement est ennuyeux. (et fondamentalement assez absurde de la part de LV)
Qu'en penses-tu Luc ?
le 11-17-2013 12:42 PM
Sur le plan philosophique, si un fil est du code, alors un fil brisé est aussi du code. La structure « desable » désactivant une partie de code alors elle devrait désactiver le fil brisé.
Par l'absurde, si elle ne désactivait pas le fils brisé, alors elle ne devrait le désactiver par aucune méthode.
Je déduis donc que je ne suis pas en accord sur ce que je voie. Je suis donc d’accord avec toi.
Sur le plan pratique je n’ai pas par habitude de laisser un fil brisé dans une structure desable… alors CTRL + B…
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS
le 11-17-2013 01:02 PM
petite précision :
aucun soucis avec les fils "wire loose end" .... un seul côté "en l'air"
Une Structure_Disable les accepte "dedans" ... et les désactive sans soucis.
Le problème concerne uniquement les fils qui sont "loose end" des deux côtés.
ceci étant dit,
La Structure Disable ... ne refuse pas de désactiver un fil "en l'air".
Si on retire le fil ... et que l'on replace ensuite ce fil dedans ... plus de problème.
Le fil se trouve alors réellement "dedans" et il est correctement désactivé.
Le problème est .. que la structure ne prend pas ce fil à l'intérieure d'elle-même. (là est le bug je pense)
Si elle le faisait ... la suite ne poserait pas de problème ... elle le désactiverait.
Raisonnement sur base de la manip "en rouge" ci-dessus.
le 11-17-2013 03:40 PM
Dans l’aide
Note LabVIEW checks the syntax of code in inactive subdiagrams. However, broken code within the inactive subdiagrams does not prevent the VI from compiling and executing.
Donc il est évident que LabVIEW accepte du code brisé dans un état inactif (rien de nouveau).
Mais je pense que LabVIEW pense qu’un fil brisé « seul » donc brisé des deux côtés n’est par défaut pas digne d’être dans une structure desable et devrait être supprimé, donc ne veut pas l’ajouter par défaut. Il faut le faire manuellement, ou créer le fil brisé des deux côtés directement dans l’état desable.
Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS
le 11-17-2013 04:26 PM
J'aime beaucoup le ".... pas digne d'être dans une Structure Disable"
Labview estime donc qu'un fil brisé des deux côtés manquerait quelque peu de Noblesse.
Remercions le d'être magnanime, et de nous faire grâce d'accepter un seul côté brisé.
Je taquine
Cela dit, créer soi-même un fil brisé des deux côtés pour le placer volontairement dans une structure disable,
relève, à mon sens, de la psychiatrie. Depuis que je pratique Labview, je pense avoir développé certains troubles
neuro-psychiques ... mais là ... ce serait un point de non retour.
Franchement ... en arriver là ... ça me fait peur !
le 11-17-2013 06:41 PM
J'ai essayé de poser la question sur le forum US .
(comme je peux ... je ne suis pas un as en anglais)