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