W dll-ce, która coś eksportuje (przykład):
Deklaracja funkcji eksportowanej:
extern "C" _declspec(dllexport) void __cdecl Test(void);
Definicja funkcji:
void Test(void)
{
dll_test::FormTest ^formTest = gcnew dll_test::FormTest();
formTest->Show();
return;
}
Później importuję tą funkcję do kompilatora C++ (natywnego).
Co się dzieje: wszystko działa jak należy, dopóki formularz nie zawiera kontrolek takich jak WebBrowser, WindowsMediaPlayer itd (czyli wygląda jakby nie mogło tam być kontrolek korzystających z COM). W innym przypadku mam błąd: External exception E0434F4D.
Co jeszcze muszę zrobić aby to zadziałało? Zakładam że natywny kompilator C++ nic nie wie o tym co siedzi w dll - ma tylko importować funkcje z niej.