Bonjour à tous,
Je développe actuellement une petite application de messagerie instantanée (un peu du genre Windows Live Messenger). La librairie utilisée pour la communication s'appelle agsxmpp (protocole XMPP).
Decription:
J'ai la fenêtre principale, nommée frmPrincipale qui contient la liste de mes contacts avec leurs statuts (absent/occupé...). Afin de pouvoir mettre à jour correctement les statuts, cette classe est abonné à un événement de la librairie agsxmpp appelé OnPresence
Quand je double clic sur un contact dans la liste de la fenêtre principale, une nouvelle fenêtre (appelée frmChat et non modale) s'ouvre et me permet de discuter avec ce contact. Cette classe est aussi abonnée à l’événement OnPresence afin de signaler tout changement de statut de l'interlocuteur. (Par exemple: M. Dupond est hors ligne).
Problème:
Lorsque je ferme la fenêtre de discussion frmChat (avec la croix rouge de Windows) ou bien par this.Close() et que l’interlocuteur vient à changer de statut par la suite, et bien l'évélement OnPresence est déclenché dans la fenêtre de discussion, alors que celle-ci est fermée! Comme si les ressources allouées à cette fenêtre n'étaient pas correctement libérées.
Si jamais vous voulez du code, pas de problème! Je n'en ai pas posté car je pense que le problème est compréhensible plus facilement avec des explications comme celles-ci.
Merci pour votre aide,
Bonne journée
Partager