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

MFC Discussion :

[MFC] les threads


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 57
    Par d�faut [MFC] les threads
    Bonjour,

    je vous explique une peu ce que je veux faire.
    J'ai une checkbox, si on la coche on doit lancer un thread, quand elle n'est plus lanc�e on doit terminer/killer le thread

    Pour lancer mon thread j'utilise AfxBeginThread

    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
    20
    21
    22
    23
    24
    25
    26
    /*
     * Description: Fonction détectant un changement de status (chochée / non cochée) de la CheckBox
     *				Si la CheckBox est cochée on appelle la fonction RefreshList() actualisant les informations des serveurs de la CListCtrl
     * E:
     * S:
     * return: void
     */
    void Tab2::OnChkChange() 
    {
    	if(IsDlgButtonChecked(IDC_CHECKREFRESH)) 
    	{	
    		AfxBeginThread(ThreadRefreshList, this);
    	}
    	else
    	{
    		// On termine le thread
    		//AfxEndThread();
    	}
    }
     
    UINT Tab2::ThreadRefreshList(LPVOID pParam)
    {
    	Tab2 * self = (Tab2 *)pParam;
    	self->RefreshList();
        return 0;
    }
    Mon premier probl�me est que je n'arrive par a killer le thread malgr� la FAQ ( http://cpp.developpez.com/faq/vc/?pa...opWorkerThread )
    Ensuite je m'int�rroge sur les threads, ma fonction RefreshList() est r�cursive
    RefreshList()
    {
    //... du code
    RefreshList();
    }

    dois-je laisser ca comme ca ou lancer � intervalle r�gulier un thread ?


    Merci

  2. #2
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 537
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 537
    Par d�faut
    J'ai une checkbox, si on la coche on doit lancer un thread, quand elle n'est plus lanc�e on doit terminer/killer le thread
    Pour arr�ter le thread il faut lui communiquer un message WM_USER de fin de traitement au thread .Le Thread peut le recevoir avec GetMessage.
    Sinon tu peux prendre une variable bool�enne pass�e en param�tre

    Sinon prendre au besoin un CEvent qui sera peut-�tre plus adapt� voir dans le MSDN pour �tudier les diff�rentes possbilit�s

Discussions similaires

  1. R�ponses: 5
    Dernier message: 10/05/2005, 10h22
  2. [MFC] UpdateData() + thread
    Par MadChris dans le forum MFC
    R�ponses: 6
    Dernier message: 03/06/2004, 20h55
  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