Bonjour,
J'ai un petit problème, la bonne nouvelle c'est que je sais d'ou ca vient mais il me manque la bonne solution pour le résoudre.
Un thread fait un PostMessage vers mon application et passe en argument le pointeur d'une de ses variables locales.
Lorsque le thread s'arrete, il peut rester encore des messages non traités qui remonte dans la file d'attente de mon application.
Bref, ca plante lorsqu'un message emerge avec forcement un pointeur qui n'est plus valable (le thread étant terminé).
Quelle serait la meilleur méthode pour éviter ce problème ? Une variable globale dans mon application que le thread modifierait ?
J'utilise les mfc j'ai donc un objet CWinApp global qui peut être utilisé.
Mon thread est en fait une méthode d'une classe (mon application instancie cette classe). J'ai pensé mettre une variable statique dedans, ou une variable public (j'envoie au thread comme paramètre this, donc il y a acces). C'est correct comme méthode ?
J'ai cherché sur Google et le forum comment passer des objets avec un postmessage mais je n'ai rien trouvé de simple (new et delete avec des classes dérivées de ce qu'on veut envoyer).
Merci.
Partager