Problème pour créer un user event

hackwell33 Messages postés 2 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 13 janvier 2009 - 12 janv. 2009 à 20:57
hackwell33 Messages postés 2 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 13 janvier 2009 - 13 janv. 2009 à 10:45
Bonjour ,

Voilà mon problème : j'essaie de créer un event personnalisé pour envoyer des messages entre deux threads de mon
appli.

J'ai donc déclaré un prototype     afx_msg void onTHR_COM_EVNT(); ( avec int THR_COM_EVNT = WM_APP+1000 )

pus déclaré dans la message map avec   la macro  ON_REGISTERED_MESSAGE(THR_COM_EVNT, onTHR_COM_EVNT)

Pour le moment je poste le message depuis le meme thread , mais bien que PostMessage revienne sans erreur , onTHR_COM_EVNT n'est jamais appelée.

La classe contenant ce code n'est pas la classe comprenant de dialogue principal mais une classe dérivée de Cwnd.
Jai donc essayé la meme manip dans la classe CDialog , et l'appel à la fonction se fait bien mais plante le programme de façon spectaculaire...

J'ai aussi tenté RegisterWindowMessage sans succés , et je suis un peu bloqué.

auriez vous une idée de ce qu'il se passe?

Merci d'avance

Alex

2 réponses

racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
12 janv. 2009 à 21:58
Salut,
Pour envoyer des messages entre threads on utilise PostThreadMessage(). PostMessage() est destinée aux fenêtres, dialogs et controles.
0
hackwell33 Messages postés 2 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 13 janvier 2009
13 janv. 2009 à 10:45
oui , tout à fait , mais pour tester le  fonctionnement j'utilise PostMessage depuis le thread principal pour simplifier les choses.Je ne poste pas depuis un autre thread pour l'instant.
0