From 11:00 PM CDT Friday, May 10 – 02:30 PM CDT Saturday, May 11 (04:00 AM UTC – 07:30 PM UTC), ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

Sélection d'un menu crée plusieurs evènements

Bonjour à tous,

 

Je me trouve face à un petit bug que je ne comprends pas.

Google et le forum n'ont pas réussi à me donner des réponses, donc je poste!

 

J'ai créé un menu utilisateur (.rtm), et j'utilise une structure évènement dans une boucle while pour récupérer les "Menu Selection (User)".

Rien de bien sorcier.

 

Sauf que je ne sais pourquoi, lorsque je clique sur mon menu, et en regardant la fenêtre d'inspection des évènements, un seul clic me crée plusieurs évènements qui se mettent dans une file d'attente, ce qui bloque mon application. (image en PJ).

J'ai essayé les deux options (bloquer le front panel jusqu'à la fin de l'évènement et limiter le nombre d'évènement dans la file d'attente) mais ça ne change rien.

 

Une idée?

 

Merci

0 Compliments
Message 1 sur 4
3 823 Visites

Ce bug que j'essaye de résoudre depuis vendredi, je viens de trouver pourquoi...

En fait j'ai une machine à états, et dans chaque états j'ai une gestion des évènements (pas identique à pour chaque état).

Du coup j'ai plusieurs Menu Selection (User), mais qui ne sont pas actifs en même temps. Donc je ne comprends pas pourquoi ils réagissent tous en même temps.

Bref, sauf si quelqu'un a la solution, je vais sortir cet évènement de ma machine à états!

 

Smiley indifférent

 

0 Compliments
Message 2 sur 4
3 822 Visites

Une machine à états n'exécute qu'un seul état à la fois, selon le flux de données. Donc si plusieurs structure événéments qui scrutent le même événement (disons N), comme au mieux une seul structure pourra exécuter l'événement, il y aura N-1 événements en file d'attente.

 

Pour éviter ce comportement (qui est normal), on n'utilise jamais 2 structure événements pour un même VI, et encore moins configurées pour le même événement 🙂

http://zone.ni.com/reference/en-XX/help/371361L-01/lvhowto/caveatsrecmndtnsevnts/

 

Cordialement,

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

Message 3 sur 4
3 814 Visites

Merci pour ta réponse.

Pour ma culture personnelle, comment est-ce possible qu'une structure évènement intégrée dans une boucle While n'est pas active puisse recevoir des évènements? 

0 Compliments
Message 4 sur 4
3 811 Visites