hello,
j'arrive pas a faire de la communication inter-thread par fonction de CallBack!
Soit un object de type class A créant un object de type B en lui passant le pointeur sur lui meme dans le constructeur.
Le thread B est en fait une classe qui contient un pointeur CWinThread et qui va créer et gerer l execution de ce CWinThread.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 B::B(A* _pObjA) {m_pObjA = _pObjA}Le thread B s execute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 A::A() {m_pObjB = new B( this);}
En dernière instruction, le CWinthread de B doit appeler une fonction de A.
Cet appel est fait a travers le pointeur recu par B dans son constructeur. Et cet appel est fait à l 'interieur d une section de code critique. (Meme comportement si j enleve la section critique)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 B::Execute() {... ... SectionCritique.lock(); m_pObjA->CallBackFunction(); SectionCritique.unlock(); }
Il me semble que ca marche mais dans le code dequand j appel une fonction XXX a travers un pointeur, le thread B ne va pas dans le code devant s executer
Code : Sélectionner tout - Visualiser dans une fenêtre à part CallBackFunction()
Partager