LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Exécution d'une fonction callback 2 malgrès qu'une fonction callback 1 soit en cours ? (en gros, puisque formulé comme tel, c'est impossible !)

Bonjour,

supposons que je dispose d'une interface graphique (.uir), et de 2 widgets sur cette interface : "start acquisition" (widget 1) et "envoi pulse" (widget 2).

Je précise que les instructions dans la fonction callback associée au widget 1 sont essentiellement des démarrages de compteurs (d'une carte pci-6602), ainsi que des entrées digitales (via les ports d'une carte DIO-32-HS), ces entrées étant 'triggées' sur les fronts descendants d'une horloge. Les données lues sont stockées dans un buffer au fur et à mesure.

Je voudrais donc pouvoir exécuter la fonction callback associée au widget 2 (envoyer un pulse avec un compteur) PENDANT l'exécution de la fonction callback associée au widget 1 (acquisition et stockage de données en continu). Comment puis-je m'y prendre, si c'est possible de faire cela ?

Merci d'avance pour toute aide.

Julien
0 Kudos
Message 1 of 5
(3,365 Views)
Bonjour,

essayer CallCtrlCallback() en lui passant les bons paramètres , soit :handle de panel, ctrl (Widge2) et l'event intercepté par la callback.
Ceci revient à appeler directement et immédiatement la callback.
Message 2 of 5
(3,356 Views)
Bonjour,

Merci beaucoup pour votre aide, je vais essayer de faire cela.
Je vous enverrai un autre message si j'ai un problème, mais je devrais pouvoir me débrouiller.

Julien.
0 Kudos
Message 3 of 5
(3,345 Views)
Bonjour,

De manière générale, lorsqu'une callback prend beaucoup de temps à s'exécuter, il est intéressant d'appeler la fonctions "ProcessSystemEvents()". Celle-ci permet de récupérer les évènements qui se sont produits et d'appeler les fonctions callback associées. Une fois ces fonctions callback terminées, vous revenez à la callback d'où a été appelé "ProceesSytemEvents()".
Ceci permet notamment d'éviter que l'interface utilisateur ne soit "gelée" lorsque l'application est occupée à l'exécution d'une fonction callback.
0 Kudos
Message 4 of 5
(3,319 Views)
Bonjour,
décidemment c'est souvent vous qui répondez à mes question, alors merci beaucoup !!
Julien
0 Kudos
Message 5 of 5
(3,313 Views)