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