le 03-31-2015 07:21 PM
au cas ou un de vous aurait une solution miracle ... astuce - contournement ....
J'ai un projet avec 60 VIs
il me vient l'envie de faire passer toutes les entrées de tous les sou-VIs en "requis".
J'ai coché l'option dans " Tools - Options - Front panel " ... mais ce sera pour les "suivants". (trop tard pour ceux-ci)
Mais pour mes 60 VIs déjà créés (soit environ 250/300 entrées-sorties)
dois-je les passer en revue une par une et les (re)placer manuellement en "requis" ![]()
ou existerait-il une "astuce" (je n'y crois pas trop) pour "automatiser" ?
Résolu ! Accéder à la solution.
le 04-01-2015 01:48 AM
Scripting ? Mais je pense que tu en sais plus que moi à ce sujet.
04-01-2015 02:01 AM - modifié 04-01-2015 02:01 AM
Trouvé ceci par une rapide recherche >> Connector pane >> Wiring Rule : Set
Je ne serais pas étonné de l'existence d'un exemple "ready to use".
04-01-2015 02:30 AM - modifié 04-01-2015 02:31 AM
oui, par scripting. ( Mais je pense que tu en sais plus que moi à ce sujet. ... bof, pas certain ça )
si j'avais 5.000 entrées à reconfigurer ... cela vaudrait le coup.
mais avec 200 .... me faudra bien plus de temps pour mettre au point le code
(récursif, au départ du Main, et qui va chercher toute l'arborescence des sous-VIs, etc, etc ....
)
donc je suis bon pour me les faire une par une (m'en doutais)
contexte
Je ne me suis jamais trop soucié de la configuration des entrées. (En général, 90% des entrées sont "requises")
Mais hier, sur mon projet ... tout d'un coup plus rien ne fonctionne .... Panique ! .... bon dieu, qu'ai-je fait ???
Dans ce cas là ... pas question d'aller rechercher une version précédente ... car je passerais probablement "à côté" d'une occasion d'apprendre quelque chose.
Je dois "trouver" ! .... après 30min de "réflexion" et de recherche générale ... je ne trouve rien !
je passe à une comparaison MD5, VI par VI avec la version précédente.
Après avoir éliminé toutes les modifs "connues" .... je trouve enfin .... j'avais supprimer par erreur un fil d'entrée d'un VI (une fil de 1cm)
Total, une petite heure !!! Le soucis est que tout ce qui n'a pas été élucidé est susceptible de se reproduire à tout moment.
Là je me suis dit .... terminé ... dorénavant, toutes mes entrées seront par défaut "requises".
Cela me permettra de détecter instantanément toute connection manquante par l'info "vi broken".
voila.
Merci JB pour ton intervention et tes liens.
le 04-01-2015 03:26 AM
une phrase oubliée ...
" Je ne serais pas étonné de l'existence d'un exemple "ready to use". "
me doute bien que je ne suis pas le "premier idiot" à qui cela arrive
(moi, le premier de la liste)
si un de vous à ce " ready to use" pour le traitement d'une arborescence ... cela m'intéresse.
Ceci dit .... je ne pense pas que cela m'arrivera une seconde fois.
le 04-01-2015 03:43 AM
Pour ne pas prendre ce risque, je configure en effet LV pour définir toutes les entrées à "Required" par défaut. Puis je modifie celles qui ne doivent pas l'être.
le 04-01-2015 04:40 AM
@ JB : je configure en effet LV pour définir toutes les entrées à "Required" par défaut. Puis je modifie celles qui ne doivent pas l'être.
en effet ... c'est "la solution" !
il faut se brûler pour savoir réellement ce qu'est le feu.
cela ne m'arrivera plus !!!
le 04-01-2015 11:16 AM
C'est typiquement le genre de points que je m'attends à trouver dans une bonne checklist d'un développeur LabVIEW
Il faut toujours s'assurer que lorsqu'on écrit un VI, les entrées soit en "nécessaire" (ou alors il faut pouvoir le justifier, i.e. avoir une bonne raison de s'en passer pour une entrée bien spéciale)
Une fois qu'on s'est fait avoir, on a tendance à plus trop oublier
le 04-01-2015 12:51 PM
100% d'accord Mathieu.
En effet, "je me suis fait avoir' !!!
mais maintenant ... placer toutes les entrées en "nécessaire" .... sauf exception
.... est une évidence absolue !
Je ne me rendais pas compte comme ce genre de chose pouvait être utile.
"retrouver" une entrée non cablée, ou effacée par erreur, dans un code comportant des centaines de VIs ...
génère un type de bug que je ne connaissais pas (typique du langage LV) ...
et "retrouver" l'erreur peut prendre énormément de temps.
le 04-02-2015 08:36 AM
Le scripting est souvent fait pour être "sale" (en anglais, j'aime bien "Quick and dirty"). En 10 minutes je te ferais ce VI 😛
Allez quand j'ai libéré mes étudiants je le fais.
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.