Plantage Application CF en arrière plan

Résolu
cs_homer_ Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 21 juin 2007 - 18 juin 2007 à 17:41
cs_homer_ Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 21 juin 2007 - 19 juin 2007 à 10:06
Bonjour,

J'ai développé une application CF qui encapsule une dll C++ non managé.
Cette dll déclanche une callback dans l'application principal  en lui passant un buffer.
Tout ce petit mécanisme fonctionne très bien si la form de l'application principale est au premier plan. Mais lorsque je fais venir au premier plan une autre application (ex : un explorateur), l'application disparait (!!) à la notification de la callback, et ceci  sans aucun message d'erreur, exception ou autres.

Est-ce que quelqu'un aurait déjà observé ce comportement?

D'avance merci

homer_

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
18 juin 2007 à 19:42
Salut, je vois pas trop.. mais l'erreur courante avec les callbacks managés c'est de ne pas maintenir une référence du délegué et donc inévitablement le GC fini par ramasser le délégué et y'a plantage dans le code non-managé.
3
cs_homer_ Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 21 juin 2007
19 juin 2007 à 10:06
Merci, c'était exactement mon problème.


Je ne gardait pas de référence sur mon delegate, et lorsque mon application passaite en arrière plan, le GC devait se déclancher et il supprimait la référence sur la callback. Et la dll appelant cette callback se retrouvait à "jardiner".


Merci,


homer_
0
Rejoignez-nous