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 :

Thread lié à une caméra


Sujet :

MFC

  1. #1
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut Thread lié à une caméra
    Bonjour à tous!
    Je suis entrain de faire un programme capable de m'afficher une image de caméra, tout en me laissant travailler à coté. Pour cela j'affecte un thread à l'affichage de ma caméra, mais j'ai l'impression que je m'y prend mal! (je programme avec l'API Windows).
    En gros, j'ai deux boutons pour lancer et stopper la capture. Lorsque je lance la capture, le thread se lance et j'affecte TRUE à un booléen "ShowCamera" pour dire que ca film (boucle while du thread). Mon bouton "Stop", ne fait qu'une chose: il affecte FALSE à "ShowCamera" ce qui permet de sortir de la boucle while, et donc de stopper la capture.
    Mon problème est donc à mon avis le suivant: je ne stoppe pas proprement le Thread, ce qui fait que lorsque je stoppe la caméra et que je quitte le prgm, celui-ci tourne toujours (je peux le constater dans le Task-Manager)

    Pour résumer: comment puis-je proprement arréter mon thread lorsque je stoppe la capture!

    merci pour votre aide

  2. #2
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Il y a bien qqch donné dans la FAD Visual C++, mais ca ne s'applique qu'aux MFC...

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    c'est le meme principe tu peux utiliser un event pour signaler la fin de ton thread .

  4. #4
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DWORD WINAPI Display(LPVOID lpParam)
    {
    	...
     
    	while (m_showCamera)
    	{
    		...
            }
     
    	return (0);
    }
    Voici l'ossature de mon thread...

  5. #5
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Donc il faudrait que je fasse qqch du genre:

    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
    DWORD WINAPI Display(LPVOID lpParam)
    {
            HANDLE m_EndThread = CreateEvent(0, TRUE, FALSE, 0);
            HANDLE m_WaitThread = CreateEvent(0, TRUE, FALSE, 0);
     
            ...
     
    	while (m_showCamera)
    	{
    		...
            }
     
            CloseHandle(m_EndThread);
            CloseHandle(m_WaitThread);
     
    	return (0);
    }

  6. #6
    BNS
    BNS est déconnecté
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Il reste toujours un probleme: lorsque je quitte mon programme sans arréter ma caméra (c'est à dire avec la croix en haut á droite), je n'ai pas l'impression que le thread est arrété correctement...

Discussions similaires

  1. thread dédié à une classe pour lui "donner vie"
    Par Dje14 dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 02/06/2005, 16h46
  2. [Thread]run une fois et plus apres
    Par maxvador dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 29/12/2004, 15h31
  3. [Thread] laisser une fenetre s'afficher
    Par parisjohn dans le forum Concurrence et multi-thread
    Réponses: 11
    Dernier message: 25/08/2004, 15h05
  4. Thread dans une classe ?
    Par Sephi dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 07/03/2004, 18h16
  5. Thread avec une fonction membre d'une classe
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 01/03/2004, 01h15

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