IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Erreur sur un l'appel d'un pointeur de fonction manag� depuis c++ (Callback)


Sujet :

C++/CLI

  1. #1
    Membre �clair� Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par d�faut Erreur sur un l'appel d'un pointeur de fonction manag� depuis c++ (Callback)
    Hello,

    J'ai l'erreur suivante :

    Managed Debugging Assistant 'CallbackOnCollectedDelegate' has detected a problem in 'xxx.exe'.
    Additional Information: A callback was made on a garbage collected delegate of type DLLNative!DlgMyDelegate::Invoke'. This may cause application crashes, corruption and data loss. When passing delegates to unmanaged code, they must be kept alive by the managed application until it is guaranteed that they will never be called.
    mon sc�nario :
    1) je fournis � la Dll native un pointeur de Callback sous la forme d'un delegate
    Dans la fonction qui enregistre la callback je passe en argument directement le nom de fonction !
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    MyClasseCtor()
    {
    DLLNative.RegisterCallBack(FunctionCallBack);
    }
    private void FunctionCallBack(decimal _Value)
    {...}
    2) ce delegate est appel� depuis la DLL native et l'erreur survient apres un temps variable (selon le GC je suppose)


    Comme l'objet qui contient la fonction pass� � la DLL native est toujours instanci� et utilis�, je ne comprend pas comment ce pointeur peut etre nettoy� par le GC ??? Quel stratag�me mettre en place ?

    J'ai aussi essay� de stocker le delegate dans une variable de classe...meme probl�me.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Par d�faut
    Salut,

    As-tu essay� de jouer sur un bout de m�moire "fixed" � l'instanciation ?

    http://msdn.microsoft.com/fr-fr/library/f58wzh21.aspx

Discussions similaires

  1. R�ponses: 6
    Dernier message: 19/01/2010, 13h14
  2. message erreur sur appel module
    Par Daniel MOREAU dans le forum Access
    R�ponses: 10
    Dernier message: 15/02/2007, 16h43
  3. R�ponses: 3
    Dernier message: 08/11/2006, 17h56
  4. Appel generique de pointeur de fonction qui...
    Par MonsieurAk dans le forum C
    R�ponses: 7
    Dernier message: 07/03/2006, 22h05
  5. Erreur sur l'affection d'un pointeur
    Par digital prophecy dans le forum C
    R�ponses: 4
    Dernier message: 25/11/2005, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo