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

C++ Discussion :

Création d'un thread dans une dll


Sujet :

C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut Création d'un thread dans une dll
    Bonjour,
    J'ai besoin de créer un thread dans ma dll pour appeler une fonction toute les 0.5 secondes pendant un certain temps.
    la fonction à lancer est déclarée ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void MaClass::MaFonctionThread(void)
    {
    	while (ContinueLoop)
    	{
    		//FaitCeci();
    		std::this_thread::sleep_for(std::chrono::milliseconds(500));
    	}
    }
    et je l'appelle comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	std::thread t1(&MaClass::MaFonctionThread);
    	t1.join();
    le compilateur me renvoie cette erreur
    Error C2672 'std::invoke': no matching overloaded function found C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\thr\xthread 240
    Error C2893 Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...)' C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\thr\xthread 240
    si je supprime le & dans la création du thread (comme je l'ai vu dans certains tutos).
    J'ai cette erreur

    Error C3867 'MaClass::MaFonctionThread': non-standard syntax; use '&' to create a pointer to member
    Je tourne en rond sur la création de ce thread depuis un petit moment .
    Merci pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Par défaut
    Je crois que j'ai trouvé la solution, il faut que la fonction appelée soit déclarée en static.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Oui.
    Sinon utiliser une lambda est plus simple.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conseil sur les thread dans une dll
    Par ksoft dans le forum C
    Réponses: 2
    Dernier message: 30/03/2009, 15h12
  2. Utilisation d'un Thread dans une DLL
    Par colorid dans le forum Langage
    Réponses: 7
    Dernier message: 14/03/2009, 11h05
  3. Problème de terminaison de thread dans une DLL
    Par johjoh dans le forum Langage
    Réponses: 4
    Dernier message: 25/09/2008, 18h29
  4. Réponses: 4
    Dernier message: 16/05/2006, 23h15
  5. Création du timer dans une Dll
    Par Hokagge dans le forum MFC
    Réponses: 13
    Dernier message: 14/03/2006, 18h04

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