Discussions au sujet de NI LabVIEW

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

Event (soucis pour "cibler" un événement)

Bonjour à tous,

 

Je n'arrive pas à déclencher un event dans un contexte bien précis.

 

Le contexte :

 

Un control_String contenant un string.

 

La manip :

 

Sur ce string, je fais une sélection

c.a.d ... clic-gauche + déplacement ... mais ... je termine ce déplacement en dehors du Control_String

 

comme ceci :

 

SR1.png

 

J'essaye de déclencher un event sur cet événement particulier.

 

J'ai essayé :

 

- "String - Mouse leave" ... mais "Mouse Leave" ne fonctionne pas si je fais "clic-gauche" en même temps .

 

- Différents "event-drag" ... pas de résultat.

 

Existerait-il une façon "d'identifier" cet événement ?

 

Merci.

0 Compliments
Message 1 sur 8
4 495 Visites

Salut ouadji, 

 

De mon côté, LV2011SP1, l'événement Mouse Leave se génère correctement même avec le bouton gauche de la souris.

 

Si tu souhaite détecter l'événement sortie de la souris avec le bouton gauche appuyé tu peux passer par un VI Callback pour détecter la sortie de la souris et dans ce VI Callback générer un événement utilisateur. Un exemple vite fait pour illustrer 😉

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Tout télécharger
Message 2 sur 8
4 480 Visites

Bonjour Benjamin,

 

Merci d'avoir pris le temps de tester.

 

et bien au temps pour moi, de mon côté aussi "Mouse Leave" fonctionne même avec le bouton gauche de la souris ON.

 

Comprends pas (?) ... il m'avait pourtant "semblé que"   Smiley gêné

J'ai re-testé avec simplement une incrémentation dans l'event ... et effectivement, ça incrémente.

Désolé davoir crié aux loups inutilement.

 

Quant au Callback ... j'aime beaucoup "l'exemple vite fait" ... smiley prosterné.gif  woaw    Smiley heureux

Je l'ai précieusement mis de côté !

 

Je vois que ce noeud "Callback" provient de la palette ".Net"

Et là, les abysses ... ce ".Net" m'est totalement étranger (bon dieu, mais qu'est-ce ? ... il faudra un jour que je perce cet abcès )

 

Pourquoi ce noeud "Callback" se trouve-t-il associé à ce ".Net" ?

Comment pourrait-on définir "ce qui est .Net de ce qui ne l'est pas ?

Est-ce une couche supplémentaire ? et pourquoi ce nom de .Net ... que signifie cet acronyme ?

 

encore Merci Benjamin, précis, limpide, efficace ... comme dab !

 

 

 

 

 

0 Compliments
Message 3 sur 8
4 476 Visites

Salut ouadji, 

 

Vaste sujet qu'est le .NET! Je te laisse parcourir Google pour en apprendre un peu plus sur cette technologie Microsoft. 

 

De mon exempe bien que le noeud se trouve dans la palette .NET je n'utilise pas, ici, le .NET. J'utilise le fait de pouvoir donner au noeud la référence vers un contrôle et de retrouver les événements afin que lorsque l'événement arrive LabVIEW appel le VI, dit callback. Bref je fais comme en C. 

C'est une autre manière de gérer les événements et NI recommande d'utiliser la structure événement pour gérer les événement de l'UI. 

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 4 sur 8
4 460 Visites

Le noeud d'enregistrement à une callback n'est pas dédié au .NET (on le trouve aussi dans la palette ActiveX), mais à tout événement que l'on souhaite déclencher pour peu qu'on ait une référence de l'objet sur lequel porte l'événément. Bien pratique quand on veut déclencher un événement dans un VI A un événement produit sur l'UI d'un VI B...

 

Exemple attaché. Run Source, puis Run Caller. Et cliquer sur les booléens de Source 🙂

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

Tout télécharger
Message 5 sur 8
4 453 Visites

Merci Benjamin, Merci Eric  

 

Grand merci Eric pour ton exemple ... je le place précieusement de côté ! (j'ai testé, "ça" tourne)

 

Le noeud d'enregistrement à une callback n'est pas dédié au .NET (on le trouve aussi dans la palette ActiveX)

 

.Net ... ActiveX ... Pourquoi ce Noeud ne se trouve-t-il pas tout simplement dans la Palette Application_Control ?

 

Dans la doc, je vois cette première phrase :

"Un VI Callback contient le code que vous écrivez pour gérer un événement ActiveX ou .NET spécifié."

 

questions:

 

Quand on parle "Callback" ... parle-t-on obligatoirement "ActiveX" et/ou ".Net" ?

 

Corrolaire : La notion de "Callback" peut-elle exister en dehors de tout concept "ActiveX" et/ou ".Net" ?

 

Eric : Dans ton exemple, as-tu utilisé "quelque chose" faisant partie de ces notions "ActiveX" ou ".Net" ? (si oui ... quoi ?)

 

 

Pour moi, un Callback est du code qui s'exécute "après" un autre.

Ceci dit, je sens qu'il serait très intéressant ... "d'aller plus loin"   Smiley heureux

0 Compliments
Message 6 sur 8
4 445 Visites

Une fonction callback est une fonction appelé par le moteur d'exécution suite à un événement. Cette notion existe en dehors de LabVIEW et n'est pas forcément lié à l'ActiveX ou au .NET. 

 

Dans notre cas LabVIEW appel le VI callback suite à une événement utilisateur sur le FP. C'est le même principe que la structure événement qui exécute le cas pour l'événement lorsque celui-ci arrive. 

 

Dans les palettes LabVIEW ce noeud a été fait pour permettre de gérer les événements ActiveX et .NET mais par "extension" il permet l'accès aux événement "purs" LabVIEW qui n'ont rien à voir avec l'ActiveX ou le .NET. 

    Benjamin R.


Senior LabVIEW Developer @Neosoft


Message 7 sur 8
4 439 Visites

super ! très intéressant !

 

 

deux phrases importantes à mon sens :

 

"est une fonction appelé par le moteur d'exécution suite à un événement"

 

"C'est le même principe que la structure événement qui ..."

 

là ... reste à vérifier s'il existe une "Pile Callback" ... à mon avis, oui (pourrait-il en être autrement)

 

 

j'en sais assez pour "creuser" moi-même.

 

merci Benjamin.

0 Compliments
Message 8 sur 8
4 437 Visites