Bonjour à tous,
voila je cherche à intégrer un exemple de code ansi C dans mon interface graphique Qt (mais c'est pas Qt le problème).
j'ajouterais que le code permet de contrôler une carte d'acquisition national instrument
Seulement dans l'exemple original il y a la fonction callback suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData); int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData) { //code quelconque return 0; } //que j'ai inclu dans mon code de la manière suivante //header int32 CVICALLBACK EveryNCallback (TaskHandle taskHandle, int32 EveryNsamplesEventType , uInt32 nSamples, void *calbackData); //.cpp int32 CVICALLBACK aoGenerator::EveryNCallback(TaskHandle taskHandle , int32 EveryNsamplesEventType, uInt32 nSamples , void * callbackData) { //code quelconque... return 0; } //du copiez-coller...;
afin que la carte d'acquisition sache que c'est cette function qu'elle doit appeler on utilise la function suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DAQmxRegisterEveryNSamplesEvent(AItaskHandle,DAQmx_Val_Acquired_Into_Buffer,1000,0,EveryNCallback,NULL);
or à la compilation du programme je me retrouve avec le message d'erreur suivant :
"aoGenerator.cpp:158: error: argument of type 'int32 (aoGenerator:(void*, int32, uInt32, void*)' does not match 'int32 (*)(void*, int32, uInt32, void*)'"
la ligne 158 correspondant à l'éxécution de la fonction DAQmxRegisterEveryNSamplesEvent où EveryNCallback est passée en arguement.
je suis presque sur que c'est une erreur de débutant mais ce message d'erreur me laisse perplexe...
help siouplait![]()
Partager