[C++/CLI] SEHException dans le wrapper lors de l'appelle a la DLL C++
Bonjour,
Je fait mon premier projet avec une DLL C++, une interface C#, et un wrapper C++/CLI entre les deux.
Pour l'instant, j'essaie simplement d'exécuter une fonction de la lib C++ native depuis le C#:
Voici la DLL C++
.h
Code:
1 2 3 4 5
| #include <iostream>
#include <string>
namespace ExportCSVDLL {
__declspec(dllexport) int exportCSV(int a);
} |
.cpp
Code:
1 2 3 4
| #include "ExportCSV.h";
int ExportCSVDLL::exportCSV(int a) {
return 0;
} |
LeWrapper en C++/CLI
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #pragma once
#include <string>
#include <iostream>
#include <vector>
#include "ExportCSV.h"
using namespace System;
namespace ExportWrapper {
public ref class ExportW
{
int doExportCSV(int a);
};
} |
Code:
1 2 3 4 5 6 7 8 9 10 11
| #include "stdafx.h"
#include "ExportWrapper.h"
using namespace ExportCSVDLL;
using namespace System::IO;
namespace ExportWrapper {
int ExportW::doExportCSV(int a) {
return exportCSV(a);
}
} |
Et l'appel en C#
Code:
1 2 3 4 5
| // Instance sur wrapper
ExportWrapper.ExportW export = new ExportWrapper.ExportW();// Export avec DLL C++ en par le wrapper
int ret = export.doExportCSV(1); |
Le tout compile sans problème.
Quand je fais appelle a doExportCSV dans le C#, j'ai un exception SEHException dans le Wrapper à l'appelle de la fonction de la DLL.
J'ai suivi le TUTO :
http://ensiwiki.ensimag.fr/index.php...en_C%2B%2B/CLI
Mais j'ai toujours l'exception. J'ai forcement fait une boulette, mais je ne trouve pas ou.
Un petit coup de main ;) ?