Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2649 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] passer une fonction menbre à CreateThread

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] passer une fonction menbre à CreateThread

n°155115
sanglier04
Posté le 09-06-2002 à 19:00:38  profilanswer
 

lut, la fonction CreateThread pour un de ces arguments, un pointeur sur une fonction. je voudrai fait la même chose mais avec une fonction menbre :
 

Code :
  1. BOOL ServeurTCP::start()
  2. {
  3.     DWORD  threadID;
  4.    CreateThread (NULL, 0,
  5.    &ServeurTCP::attenteTCP,
  6.    NULL, 0, &threadID);
  7. }


 
ou attenteTCP et start sont des fonctions menbre de la classe ServeurTCP.
 
le compilo me dit qu'il ne peut pas convertire ma fonction menbre en une fonction accecptable par CreateThread :
 
Error:  serveurtcp.cpp(23,23):Cannot convert 'unsigned long (__stdcall ServeurTCP::*)(void *)' to 'unsigned long (__stdcall *)(void *)'
 
 
:??:

mood
Publicité
Posté le 09-06-2002 à 19:00:38  profilanswer
 

n°155119
smaragdus
whores, drugs & J.S. Bach
Posté le 09-06-2002 à 19:07:22  profilanswer
 

Pour utiliser une méthode dans un callback, il faut qu'elle soit statique.

n°155120
sanglier04
Posté le 09-06-2002 à 19:13:47  profilanswer
 

merci, effectivement ca marche mieu. mais n'y a t'il pas un autre moyen car la si je met ma fonction menbre en static tout ce qu'elle utilise "de l'exterieur" doit aussi être statique. :(

n°155122
smaragdus
whores, drugs & J.S. Bach
Posté le 09-06-2002 à 19:19:36  profilanswer
 

sanglier04 a écrit a écrit :

merci, effectivement ca marche mieu. mais n'y a t'il pas un autre moyen car la si je met ma fonction menbre en static tout ce qu'elle utilise "de l'exterieur" doit aussi être statique. :(  




 
Tu n'as qu'à passer un pointeur vers l'objet en paramètre de la méthode statique.

n°155123
verdoux
And I'm still waiting
Posté le 09-06-2002 à 19:20:32  profilanswer
 

Code :
  1. class A {
  2.         public:
  3.         void test(){}
  4.         static void cbA(A&);
  5. };
  6. void A::cbA(A& a) {
  7.         a.test();
  8. }
  9. int main() {
  10.         A a;
  11.         A::cbA(a);
  12. }


Message édité par verdoux le 06-09-2002 à 19:20:45
n°155128
sanglier04
Posté le 09-06-2002 à 19:27:22  profilanswer
 

merci :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] passer une fonction menbre à CreateThread

 

Sujets relatifs
SQL server et fonction replace (urgent pliz :/)[C/C++] question sur la declaration de fonction
Librairie standard et fonction ?Qui maitrise la fonction "preg_match" ?
[PHP] Pb fonction nl2br et textarea...[VBS] Retour d'une fonction (Attention Newbie)
[DEBUTANT] Passer des variables par un formulaireNom d'une fonction
[Java] Comment passer de l'hexa en décimale ?[c++]fonction de recherche
Plus de sujets relatifs à : [C++] passer une fonction menbre à CreateThread


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR