Bonjour,
Je cherche � appeler une DLL en C# depuis un ex�cutable fortran.
Pour se faire, j'utilise un code C++/CLI, avec une partie manag�e et une partie non manag�e, comme interface.
J'ai d'abord cr�� un ex�cutable, avec une fonction main non manag�e, pour tester le bon fonctionnement du logiciel, et cela a march� correctement.
Par contre, lorsque je compile le code comme une DLL, et que je l'appelle depuis un ex�cutable fortran, le code s'arr�te au niveau de l'appel de le fonction manage.
Je en comprend pas pourquoi.
Voici le code incrimine
Et le code C#
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 void DllExport CREERXML(char* NOM_XTMP) { char interXtmp[512]; string nom_fich_XTMP; // ici se trouve la conversion de char en string, avec /0 comme charactere //de fin nom_fich_XTMP = interXtmp; //passage dans la partie manage CREERXMLmanage(nom_fich_XTMP); } #pragma managed (push,on) //appel de le dll C# void CREERXMLmanage(string nomFichier) { //conversion du string en String^ String ^ nomFichierManage = gcnew String(nomFichier.c_str()); //appel de la fonction C# proprement dite remplirSbael::miseEnPlaceSortie(nomFichierManage); }
Merci d'avance pour votre aide
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 namespace ecrireXML { /// <summary> /// Classe principale /// </summary> public static class remplirSbael { /// <summary> /// La fonction principale /// </summary> /// <returns></returns> public static void miseEnPlaceSortie(string args) { //ici, le code en C# faisant le traitement que je dois effectuer }
Partager