IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Les thread en c++


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut Les thread en c++
    Bonjour � tous

    Voila j'essaie de comprendre comment marche les thread en c++ avec visual studio .net.

    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
    18
    19
     
     
    HANDLE g_event;//Les threads en c++//Déclaré en public
     
     
    DWORD WINAPI Thread1(LPVOID lpParam)
     {//Ligne 236
      //Application en écoute;
      SetEvent(g_event);
      return 0;
     }
     
    private: System::Void Form1_Load(System::Object *  sender, System::EventArgs *  e)
      {
      g_event=CreateEvent(NULL, 0, 0, NULL);//ligne 311
      DWORD threadID;//ligne 312
      CreateThread(NULL, 0, &Thread1, NULL, 0, &threadID);//ligne 313
      WaitForSingleObject(g_event, INFINITE);//ligne 314
      }


    J'ai deux probl�mes de compilation. Il me donne les probl�me suivants:
    Form1.h(313): error C2276: '&' : op�ration non conforme sur l'expression d'une fonction membre li�e
    Form1.h(236): warning C4440: red�finition de la convention d'appel de '__clrcall ' en '__stdcall ' ignor�e


    Pour la partie CreateThread j'ai aussi utilis�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Thread1, NULL, 0, &threadID);//ligne 313
    mais ca ne marche pas

    il me donne cette fois ci l'erreur : Form1.h(313): error C2440: 'cast de type' : impossible de convertir de 'overloaded-function' en 'LPTHREAD_START_ROUTINE'


    Je vous remercie tous de vos r�poses.

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    Ce qu'il faut fournir c'est pas l'adresse d'une variable mais celle d'une fonction

  3. #3
    Membre habitu�
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut
    D'apr�s mes recherches on ne peut pas faire ce que je veux comme j'ai fait. A parament il faut utiliser des threads manag�!

    Est ce que quelqu'un a une id�e l� dessus?

    loufoque, ce que j'ai fait c'est ce qu'il fallait faire pour le c++. C'est bizarre mais c'est comme �a! Ca ne marche pas car je ne travaille pas avec des thread mang�.

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    pourquoi ne pas travailler justement avec les thread de .Net ?

  5. #5
    Membre habitu�
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut
    Bonjour � tous

    J'ai trouv� comment travailler avec le thread en c++.

    Tout d'abord il faut d�clarer un thread manag� dans variable globale.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Thread* mon_thread;//On déclare un thread
    ensuite il faut d�finir le thread et le d�marer!
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    mon_thread=new Thread(new ThreadStart(this,&Form1::deb_thread));	mon_thread->Start();
    et pour terminer il faut d�finir ce que le thread devra faire! (la fonction qu'ex�cute dans mon cas c'est la fonction deb_thread)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void Form1::deb_thread()//Le thread !!!!
    {
         //Les actions exécutés par la fonction.
    }
    et voil� c'est aussi simple que �a.

    J'�sp�re que cela vous aidera

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Aide sur les Threads
    Par themoye dans le forum MFC
    R�ponses: 24
    Dernier message: 06/03/2005, 15h02
  2. Les Threads... J'en remet une couche :)
    Par Higestromm dans le forum C++
    R�ponses: 5
    Dernier message: 17/11/2004, 12h19
  3. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    R�ponses: 5
    Dernier message: 06/10/2003, 17h25
  4. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    R�ponses: 2
    Dernier message: 15/06/2003, 04h13
  5. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    R�ponses: 5
    Dernier message: 13/06/2003, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo