le 07-21-2021 08:47 AM
Bonjour la communauté francophone !
Alors voilà, j'écris ici parce que je rencontre un petit soucis pour ouvrir un vi par référence. Je fais bien tout correctement pour l'ouvrir à savoir d'abord "ouvrir une référence de vi", puis un nœud d'appel par référence suivi d'un noeud de propriété (dans lequel je demande d'ouvrir le vi puis l'afficher devant) et enfin je ferme la référence.
l'ouverture fonctionnait bien jusqu'à ce que je fasse une modification :
Le vi que je veux ouvrir est un vi dans lequel l'utilisateur est sensé entrer des paramètres. J'ai donc ajouté à ce vi un booléen "OK" connecté à "attendre activité sur face avant". Seulement, dès que j'ajoute cette fonctionnalité, l'ouverture par référence ne marche plus. Elle se fige au noeud de propriété, le tout sans renvoyer la moindre erreur. (vi's en pièce jointe mais version LV 6.1).
Avez-vous une idée de ce qui empêche l'ouverture ? Peut être dois-je procéder autrement pour ouvrir ce vi ? (désolé si ma question est absurde, je débute sur Labview et c'est la première fois que j'utilise les références...)
Résolu ! Accéder à la solution.
le 07-21-2021 12:06 PM
C'est logique, tu ouvres la référence au vi et tu le lances et il attend qu'il y ait de l'activité sur la face avant avant de continuer mais la face avant n'est pas encore ouverte! Ouvre le panneau avant à partir du vi que tu lances en utilisant la méthode fp.open.
Ce serait bien plus simple d'utiliser tout simplement un sous-vi.
Ben64
le 07-22-2021 01:46 AM
Merci pour ta réponse.
Comment accéder à la méthode fp.open ? C'est peut être parce que ces fonctionnalités n'existent pas sur Labview 6.1 mais je ne trouve pas non plus la fonctionnalité "this VI".
Aussi, tu me parle de sous-vi mais je souhaite que le vi s'ouvre pour l'utilisateur. C'est possible ?
le 07-22-2021 07:34 AM
@seyli_yes a écrit :
Merci pour ta réponse.
Comment accéder à la méthode fp.open ? C'est peut être parce que ces fonctionnalités n'existent pas sur Labview 6.1 mais je ne trouve pas non plus la fonctionnalité "this VI".
Aussi, tu me parle de sous-vi mais je souhaite que le vi s'ouvre pour l'utilisateur. C'est possible ?
C'est possible d'ouvrir un sous-vi pour l'utilisateur, fais un clic-droit sur le sous-vi, sélectionne "subVI node setup ..." (mon installation de LV est en anglais) et sélectionne "Show front panel when called" et "Close afterward if originally closed".
Maintenant si tu ne modifie pas ton sous-vi actuel il va s'ouvrir, s'effectuer en une fraction de seconde et se refermer (c'est probablement pour ça que tu voulais utiliser Wait for front panel activity (ce qui n'aurait pas résolu le problème car au premier clic ton vi se serait refermé). Il faut que tu utilises une boucle while autour de ton code avec un délais de 100ms. Ainsi tu peux éditer les contrôles du sous-vi. Lorsque l'édition est terminée tu clique sur stop (un bouton stop à ajouter pour stopper la boucle while) et le sous-vi se referme. Avec un sous-vi les variables globales sont inutiles, tu pourrais utiliser des indicateurs à la sortie pour récupérer les valeurs.
Ben64
le 07-22-2021 08:28 AM
Ah parfait c'est exactement ce que je voulais merci !