Bonjour,

J'ai rencontré un problème sur quelque chose que je sais pas faire en framework 3.5 d'habitude : exporter mes fonctions c++ via DllImport. Cette fois ci j'ai fait un projet en framework 4 et j'ai eu le droit à une exception du type : la signature de la fonction n'est pas la même en code managé et en code non managé. J'ai mis du temps à cherche l'erreur en vain, puis que j'ai passé mon projet en 3.5 et là magie ça marche !

Voici un exemple:
C++/Qt : Quand j'appelle une fonction sans paramètre ça marche bien, si là je rajoute un paramètre même en int ça foire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
extern "C" VISUVIDEOENGINE_EXPORT VisuVideoEngine *VisuVideoEngine_TEST(int c)
{
	VisuVideoEngine *instance = new VisuVideoEngine(QString(""), QString(""));
	return instance;
}
C#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
[DllImport("VisuVideoEngine.dll")]
public static extern IntPtr VisuVideoEngine_TEST( int a);
Est-ce que quelqu'un saurait pourquoi ça ne fonctionne plus en 4 ?