Маршалинг C++ библиотеки в подключенной библиотеке на C#
Формулировка задачи:
Здравствуйте! Я пишу dll для Unigraphics.
Входной точкой для Unigraphics в C++ является
для выгрузки используется
Входной точкой для Unigraphics в C# является
для выгрузки используется
Теперь стоит такая задача, что необходимо запустить dll с вин формами написаную на С# и запустить из нее dll написаную на С++.
Как сделать что бы код на С++ сработал в Unigraphics если dll на С++ запускается из под dll на С#, а dll на С# запускается из под Unigraphics?
extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
extern "C" int ufusr_ask_unload( void )
Main()
GetUnloadOption(string dummy)
Решение задачи: «Маршалинг C++ библиотеки в подключенной библиотеке на C#»
textual
Листинг программы
private IntPtr hExe; DllImport("kernel32")] static extern IntPtr LoadLibrary(string lpFileName); private void Form1_Load(object sender, EventArgs e) { hExe = LoadLibrary("ваша С++.dll"); if (hExe == IntPtr.Zero) { throw new ApplicationException("Can not load " + "ваша С++.dll"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д