Bonjour,

J'ai défini une classe du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
class MaClasse
{
  public:
    DWORD WINAPI Methode1(LPVOID S);
    DWORD WINAPI Methode2(LPVOID S);
...
}
où Methode1 et Methode2 correspondent à des threads.

Dans Methode1, j'essaie de lancer le thread Methode2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
unsigned long thread_id;
HANDLE threadhandle=CreateThread(NULL,0,Methode2,0,0,&thread_id);
mais, à la compilation, j'ai l'erreur suivante :
error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *)(void *)'
J'ai essayé de caster mais c'est impossible car __stdcall n'est pas un type. A mon avis, le problème vient du fait que mes threads sont des methodes et non des fonctions. Quelqu'un a-t-il déjà rencontré le problème ? Y a-t-il un moyen de le résoudre ou tout au moins pouvez-me donner une explication de ce qu'il se passe réellement ?

Merci.