Bonjour à tous,
J'utilise une dll C++ dans mon code C#, et cette dll non managé a été compilé sous vc++ avec une convention d'appel Cdecl, et un CharSet Ansi. Au départ, j'ai recompilé le code source de cette dll sous vs2005 tout en changeant la convention d'appel à StdCall. Ensuite dans mon wrapper je déclare Charset.Ansi, et CallingConvention.StdCall. Et cette version de mon programme marchait très bien.
Cependant, il se trouve que le code source de cette dll a changé et que je suis maintement dans l'obligation de l'utiliser tel qu'elle. Donc j'ai changer tous les CallingConvention.StdCall en CallingConvention.Cdecl. Malheureusement, ceci ne fonctionne plus correctement. C'est a dire que le programme démarre et puis s'arrete tout seul sans meme lever d'exception. Je me demande si la convention d'appel Cdecl en elle même peut causer des problèmes d'éxecution sur vs2005? Ou sinon, est ce que je dois changer quelques choses dans mes délégués qui appelent les fonction utilisant CallingConvention.Cdecl ?
Merci de votre aide![]()
Partager