Bonjour à tous,

je code un programme qui permet de contrôler une carte de génération et d'acquisition de signaux analogiques. une fois lancé l'acquisition est autonome et appelle une fonction callback static pour signaler que l’acquisition est terminée
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
 
//aogenrator:h
class aoGenerator : public QWidget
{
 
public :
 
        aoGenerator (QWidget * parent = 0);
        ~aoGenerator();
 
private :
int duree;
 
void updateDisplay();
static int32 CVICALLBACK DoneCallback (TaskHandle taskHandle, int32 status
                                         , void *callBackData);
};
j'aimerais m'en servir pour signifier l’évènement à l'interface seulement celle-ci est définie dans le même objet que DoneCallback. pour cela la variable callBackData me permet de faire passer un pointeur sur l'instance d'aogenerator et ainsi d'accéder au variable de celui-ci mais pas d'exécuter ses fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
// aogenerator:cpp
int32 CVICALLBACK aoGenerator::DoneCallback (TaskHandle taskHandle, int32 status
                                             , void * callBackData)
{    
    aoGenerator* gen = (aoGenerator*) callBackData;//  cast de callBackData en aoGenerator
    int d = gen->duree;//marche
    gen->updateDisplay();//marche pas...
 
    return(0);
}
bref mon problème est-il du à l'aspect static de la fonction ou bien est-ce autre chose?
dans les deux cas auriez-vous une idée pour contourner ce problème?

merci d'avance!!