Problème appel DLL, effet de bord

kox007 Messages postés 10 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 29 juin 2007 - 26 oct. 2005 à 16:27
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 26 oct. 2005 à 23:35
Bonjour,

Je travail sur un projet codé en C#. Celui ci fait appel à une
fonction d'une DLL en C++. En entête du fichier j'éffectue bien la
commande suivante :

[DllImport("Info.dll")]

static extern int
MaFonction(IntPtr hwnd, string szSrcDir, string szS, string
sz, string szD);



Je fais l'appel à MaFonction dans mon code C#, la valeur de retour est
correcte et tout se déroule bien, l'appel à la DLL semble donc correct.. Mon soucie est le suivant, lorsque je
quitte l'application C#, j'ai un message d'erreur sous forme d'un pop-up :



titre ->.NET-BroadcastEventWindow1.0.5000.0.2 : erreur d'application

texte -> l'instruction 0x784545 emploie l'adresse 0x00000. La mémoire ne peut être writen.



En passant en mode debug, je vois que l'erreur est déclenchée après que
je sois sorti du main(). Lorsque je passe l'appel à la fonction
de la dll en commentaire, tout fonctionne bien.

Est ce que quelqu'un aurait une idée sur la cause de mon problème car là je suis vraiment bloqué?

Merci par avance.

Cordialement.

1 réponse

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 oct. 2005 à 23:35
Salut,

Elle fait quoi au juste ta fonction "MaFonction" ?
Je vois que tu passes un handle.
Si il est lié à l'application courante, il est détrui à sa fermeture.
Ton problème pourrait découler de ça, vérifie que tu ne dois pas appeler une autre méthode de la dll avant de quitter l'application appelante.

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous