Thread avec mfc

Résolu
raf007 Messages postés 2 Date d'inscription mardi 27 décembre 2005 Statut Membre Dernière intervention 27 avril 2006 - 20 avril 2006 à 12:05
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009 - 20 avril 2006 à 20:17
salut a tous ,
donc comme l'indique le titre g un grand pb avec les thread en MFC :
1-j'utilise AfxBeginThread mais la fonction que doit executer ce thread est une methode de classe donc la declaration de AfxBeginThread n'est pas accepté par le compilateur.
2-est il possible que le thread ,une fois crée ,accede aux attribut de classe apelante (mon thread doit raffrechir un listebox)
merci d'avance.

1 réponse

cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
20 avril 2006 à 20:17
En fait tout est un problème de convention d'appel de procédure. Les méthodes d'une classe sont appellées en thiscall (le this est implicitement passé en paramètre). Une méthode de Thread doit être appelée sans le this (convention stdcall). Pour empêcher le passage implicite du this il faut donc mettre ta procédure en static (ou la sortir de ta classe), et pour bénéficier du this, ben tu le passes lors de l'appel ! Tu peut aussi utiliser CreateThread pour créer ton Thread bien que ça ne change pas grand chose pour toi.
3
Rejoignez-nous