Discussions au sujet de NI LabVIEW

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

Ouvrir la fenetre d'un projet par programmation dans un executable Labview

Résolu !
Accéder à la solution

Bonjour ,

j'ai récemment fait un petit programme qui ouvre la fentre d'un projet quand je lui donne son chemin en entrée et ça marche parfaitement (en mode execution ) . seulement voila une fois que je build mon programme et que je le lance le (.exe) ça ne marche plus j'ai un message d'erreur qui dit "erreur noeud de méthode" . y a t il une façon de faire plus appropriée ?

Merçi ,

Tout télécharger
0 Compliments
Message 1 sur 12
5 106 Visites

Ton premier noeud de méthode "App" est relatif à l'application dans laquelle tu es, quand tu lances ton code non compilé (donc quand tu es dans l'environnement LabVIEW), ce noeud de méthode pointe vers l'application active dans laquelle tu es : l'éditeur LabVIEW

Mais quand tu lances ton EXE compilé, le noeud de méthode pointe vers la'pplication active qui est ton EXE, je crois que c'est pour ça que ça marche pas.

Pour le vérifier, prends la référence de l'app et connecte la à un noeud de propriété et lis la propriété "AppName"

 

2016-12-26_152122.png

 

Si tu veux que ton EXE ouvres un projet dans l'environnement de développement, le plus simple est probablement de lancer une ligne de commande.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 12
5 092 Visites

un truc qui peut t'intéreeser : http://www.brian-hoover.com/Navigation/Code%20Repository/LabVIEW/LabVIEW%20Tray%20Launcher.php


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 3 sur 12
5 088 Visites

Merci pour la réponse . Ce que je veux exactement faire c est lister tous les dossiers du projets en passants par les noeuds de propriete . 

0 Compliments
Message 4 sur 12
5 072 Visites

Qu'est ce que tu appelles "les dossiers du projets"?

Les dossiers qui sont dans l'onglet "items" du lvproj 

2016-12-27_085524.png

 

ou les dossiers sur le disques qui contiennent des fichiers utilisés par le projet?

 

2016-12-27_085600.png

 

L'un comme l'autre c'est possible en utilisant un peu de scripting, mais selon que tu le fais en code source ou en EXE, il y a qlq différences.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 5 sur 12
5 052 Visites

Il y a un exemple de LabVIEW qui peut t'intéresser : C:\Program Files\National Instruments\LabVIEW XXXX\examples\Application Control\VI Server\Manipulating Projects\Add Files to Project.vi


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 12
5 049 Visites

voila c'est exactement ça, l'onglets des items, je souhaiterais avoir tt les noms des dossiers et sous dossiers. ainsi que dépendances et build specifications . voila comment c'est codé :

CodeDépendance.PNGj'ai vérifié les chemins en entrée c'est les bons. c'est dans le premier noeud de méthode que se produit l'erreur quand je suis en mode (.EXE)

0 Compliments
Message 7 sur 12
5 042 Visites

je viens de voir l'exemple c'est le même problème je peux l'executer sous labview mais quand j'en crée un .EXE une erreur survient avec le méssage " la propriété ou méthode n'est pas supportée dans cette version de LabVIEW" . j'ai la dernière version Labview .

0 Compliments
Message 8 sur 12
5 039 Visites

oui, cette erreur est "normale" car comme je te l'ai dit dans ma première réponse, quand tu est en EXE, ton premier noeud de méthode pointe vers ton EXE au lieu de pointer vers LabVIEW.

 

Ton code doit d'abord regarder si il s'exécute en code source ou en code compilé et ensuite prendre la référence de l'application LabVIEW. Si tu es en code source, c'est facile, si tu es en EXE, c'est un peu plus sioux.

D'abord il faut que ton LabVIEW soit configuré pour accepter les requètes externes, pour ça, ouvre LabVIEW, va dans Tools > Option... > section "VIServer" et là il faut tout activer et vérifier le port (3363 par défaut).

2016-12-27_105517.png

 

Ton code (si en EXE) doit regarder si LabVIEW est déjà ouvert, si ce n'est pas le cas, il faut ouvrir LabVIEW (par ligne de commande), attendre que LabVIEW soit lancé et ensuite s'y connecter.

 

Pourquoi tout ça? Eh bien parce que les fonctions de scripting ne fonctionne pas dans le Rune Time Engine

 

PS : pour regarder si tu es en code source ou en EXE depuis ton code : 

2016-12-27_110319.png

 

bon courage


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 9 sur 12
5 035 Visites
Solution
Accepté par l'auteur du sujet taoufiksmires

un petit VI pour te lancer...


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 10 sur 12
5 034 Visites