begin process at 2012 05 30 13:50:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Threads 2, le retour!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Threads 2, le retour!

samedi 11 décembre 2004 à 22:10:40 | Threads 2, le retour!

goondy

Bon, grace a vecchio56, j'ai pu claquer mon thread comme il fallait (cf http://cppfrance.com/forum.v2.aspx?ID=349494&nb=9).

J'explique le truc : j'ai une classe qui hérite d'un CDialog. Dans cette classe, un thread qui s'occupe de faire des choses pour que l'affichage se rafraichisse comme il faut.

THE problème : je veux que la fenetre de Dialog se ferme quand le thread se termine...

-> si je veux fermer la fenêtre à partir du thread, ca plante... et c'est normal car c'est le thread père qui a s'occupe de la fenêtre.

-> si j'attends la fin du thread fils pour provoquer la fermeture dans le thread père (WaitForSimpleObject), bah l'attente est bloquante et empeche le rafraichissement du CDialog... et en plus il attend sans fin ce c*n o_O'


Question : je fais comment moi? Je peux envoyer un signal à partir du thread fils vers le pater pour lui ordonner de femer la fenêtre... Si oui, comment (un poil de détails serait chouette ;))

Merci d'avance

--------------------------------
cd /usa/whitehouse
rm -rf *
samedi 11 décembre 2004 à 22:46:25 | Re : Threads 2, le retour!

vecchio56

Administrateur CodeS-SourceS
Je sais pas si c'est très académique, mais moi j'envoie un message à la fenêtre concernée, juste avant le return du thread

SendMessage(hWnd, WM_THREADFINISHED, codeRet, 0);


Tu définis le message WM_THREADFINISHED par (WM_USER + 1) par exemple, pour être sur qu'il n'y a pas de confusion avec un autre message
dimanche 12 décembre 2004 à 07:04:58 | Re : Threads 2, le retour!

goondy

Arf, ma classe hérite de CDialog, en MFC ... et du coup j'ai pas de fonction de callback pour capter les messages...

Ca m'énerve, je cherche sur le net pour éviter de faire le boulet, mais c tout du win32, niet en MFC.

Tu pourrais me dire :

1 - comment choper le hWnd de mon Cdialog pour envoyer le message
2 - comment définir une fonction de callback, ou si elle existe en mfc, elle ressemble à quoi.
3 - comment je capte le message
4 - WN_USER .. je chope ça ou?

Merci!

----------------------------------------
cd /usa/whitehouse
rm -rf *
dimanche 12 décembre 2004 à 08:41:19 | Re : Threads 2, le retour!

goondy

C'est bon, tout est détaillé là : http://shrek.wccnet.edu/~chasselb/win293/ClassNotes/Threads.html

Très bon lien pour faire ça : en 5 minutes c'était fait.

@vecchio56 : j'ai lu qu'il fallait utiliser "AfxBeginThread" avec les MFC, et qu'il vallait mieux utiliser "PostMessage" pour ce cas. Merci pour tout mec! ;)

----------------------------------------------
cd /usa/whitehouse
rm -rf *
dimanche 12 décembre 2004 à 10:30:10 | Re : Threads 2, le retour!

BruNews

Administrateur CodeS-SourceS
Toujours PostMessage en pareil cas.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : classe, fenêtre, thread, threads, retour


Répondre à ce message

Sujets en rapport avec ce message

Lancer une thread intraclasse [ par rudyg ] Salut tout le monde,depuis une methode de classe, je souhaite lancer une thread faisant appel a une AUTRE methode de la meme classe.Ex:void kernel::La Classe Thread [ par karakompact ] Pour mon travail et dans le but de créer une application, il me faut développer une classe Thread permettant de gerer le multitache..J'ai déjà ce type timer dans des threads [ par z3bul0n ] Comment faire pour gérer un SetTimer créé dans un thread sans utiliser de fonction : j'aimerai recevoir le WM_TIMER à chaque fois qu'il y en a un dans ClassName [ par garslouche ] Bonjour à tous,quand j'utilise Spy++ sur des fenêtres de programmes qui ne sont pas de moi, il donne le texte de la fenêtre et le nom de la classe. Co Threads et heap privé [ par mzhunix ] Salut à tous,je crée un heap privé "hHeapPrivate" dans le thread principale avec HeapCreate j'alloue quelques pointeurs dessus puis je crée un autre t à propos des threads [ par GUERRIER_ABSOLU ] Salut, je voudrais savoir s'i quelqu'un a déjà essayé d'appeler une fonction dans un thread et a remarqué quelque chose d'innatendu. En fait quand j'a Accès aux objets MFC à partir de threads non-MFC (gros bras demandé) [ par Hell Dom ] Bonsoir,Mon problème vient du fait que je ne sais pas comment le faire proprement.Donc en gros, j'ai une boite de dialogue qui lance un thread, ce der Help (threads) [ par loicus ] Bon, bhen voila.. j'essaye de faire un threadj'aimerais ouvrir la fonctions LCD_BootScreen() dans un thread, donc j'utilise cette fonction :thboot= Cr Help (threads) [ par loicus ] Bon, bhen voila.. j'essaye de faire un threadj'aimerais ouvrir la fonctions LCD_BootScreen() dans un thread, donc j'utilise cette fonction :thboot= Cr thread priorité ? [ par sleeper41 ] Voila je medemandé si la priorité des threads pouvait influencer sur le compoirtement général du système.En fait j ai créer une appli qui lance plusie


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales