LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

interompre le "run continuously" quand la fenetre labview n'est pas choisie

Bonjour,
 
Je voudrais savoir si c'était possible d'arreter l'execution de labview quand on switch sur une autre application, et la reprendre quand on revient sur la fenetre labview, sans avoir à chaque fois à arreter le run continuausly.
 
adnane.
0 Kudos
Message 1 of 11
(3,723 Views)
Est-ce que tu veux dire mettre Labview en pause pendant qu'un autre application est ouverte?
 
Example...  Labview roule un VI.  Tu ouvres MS-Word.  Pendant que MS-Word est ouvert, Labview est en pause.  Ferme MS-Word et Labview continue.
 
Ci c'est commen je decris ci-dessus, oui c'est possible.  Cependant, je ne sais pas si c'est possible avec n'importe quelle application, parce qu'il faut etre capable de detecter le status de l'application a l'interieur de Labview, soit en utilisant Active-X.
 
RayR
0 Kudos
Message 2 of 11
(3,713 Views)

salut Ray,

C'est exactement ce que t'as compris.

mais au lieu de detecter qu'une autre application est active, ne peut il pas juste se rendre compte que lui n'est plus actif?

la question donc est est-ce que labview a moyen de savoir que sa fenetre n'est pas active?

si quelqu'un a la reponse, ça m'aiderai beaucoup.

0 Kudos
Message 3 of 11
(3,708 Views)


adnane wrote:

mais au lieu de detecter qu'une autre application est active, ne peut il pas juste se rendre compte que lui n'est plus actif?



Si je comprends bien...
 
Alors tu veux savoir si LV n'est plus dans le plan avant (soit fenetre active).  En sachant cela, tu veux mettre l'execution du VI en pause.
 
Je pense que c'est possible... mais je dois verifier quelque chose..
 
RayR
0 Kudos
Message 4 of 11
(3,700 Views)
Il faudra probablement que tu utilise un utilitaire tel que: lvwutil32.zip
 
 
Je n'ai pas essaye la solution suivante..  Alors je ne peux pas confirmer si cela va fonctionner.
 
Il faut utiliser les fonctions afin de verifier quel fenetre est en avant-plan.  Il faut obtenir le nom "titre" de la fenetre en avant, ainsi que d'autres information necessaire pour determiner si c'est une application Labview.  A partir de l'information, si ce n'est pas une application Labview, tu mets le VI en pause.  Cependant, le VI qui s'occuppe de verifier l'etats des fenetres ouvertes doit etre un VI independant qui offre simplement un status.  Donc un Daemon (Dynamic VI) serai bien pour cette application.  Ce Daemon utiliserait un "Action Engine" qui envoie une notice aux autres VI afin qu'ils puissent se mettre en pause, et re remettre a fonctionner.
 
Faudra peut-etre visiter le site Microsoft afin de lire sur le sujet des fonctions SDK afin d'acceder aux perent / enfants des applications ouvertes.
 
J'espere que cette information sera un debut vers la solution.
 
RayR
0 Kudos
Message 5 of 11
(3,691 Views)

Malgre' le titre du lien ci dessus: "Shutting Down Windows 2000/NT/XP Programmatically"

la fonction lvwutil32.zip renferme d'autres fonctions qui te seront utile (ou peut etre utile).  Suffit de faire un peut de recheche.

RayR

0 Kudos
Message 6 of 11
(3,688 Views)

Salut Ray,

merci pour ton aide. j'ai pensé à un truc plus simple qui pourrais regler mon probleme.

y a-t-il un bloc LV qui fait la fonction run?

i.e, avoir un bouton sur le front pannel qui quand tu clic dessus fait le run.

Adnane

0 Kudos
Message 7 of 11
(3,672 Views)
Bonjour Adnane,

Je pense que ces 2 documents pourront t'aider :
http://digital.ni.com/public.nsf/allkb/86D462B9478C8DED86256E89005C38A0?OpenDocument
http://digital.ni.com/public.nsf/allkb/30E36993C05D96D286256BF0006F37F5?OpenDocument

Mais on peut aussi tout simplement envisager un VI principal qui appel un sous-VI à l'appui sur un bouton.

Cordialement / Regards, Matthieu B. @ NI France.
0 Kudos
Message 8 of 11
(3,663 Views)

Salut Adnane,

Effectivement, il existe une fonction qui peut faire la fonction run d'un VI et une autre qui peut activer un application.  On peut meme activer une application DOS.

Si tu expliques ton idee, je pourrais mieux te conseiller sur une approche quelconque.

RayR

0 Kudos
Message 9 of 11
(3,661 Views)

salut ray,

en fait, dans mon application j'ai des boutons "send" qui active l'envoi des données.

j'aimerais que quand j'appui sur un de ces boutons, j'active le run , sans avoir mi le run continuously prealablement.

en gros, si je peut relier un bouton à la fonction qui fait le run d'un vi, et l'activer à partir de ce bouton, mon probleme est résolu.

Adnane. 

0 Kudos
Message 10 of 11
(3,654 Views)