Да, как вы это делаете. C# вызов функции DLL. Программа умирает
Я собрал приложение на языке C#, которое вызывает некоторые функции из библиотеки DLL. Это мое объявление функции:
[DllImport("c:\\users\\auror\\source\\repos\\dll1\\debug\\Dll1.dll")] public static extern int MM_HELPABOUTME();
В моем приложении C# я могу вызвать messagebox из рутины DLL без каких-либо проблем. Но когда я нажимаю кнопку "ОК", приложение C# завершается. Я думал, что приложение C# должно продолжать работать, но оно завершается. Что происходит?? Может ли кто-нибудь дать ответ, почему. Спасибо.
= = = = = = Перенесено из решения:
Просто простая процедура C#.
private void button1_Click(object sender, EventArgs e) { int ic; ic = MM_HELPABOUTME(); /// ic = MM_ABOUTDLL(); }
Мое объявление функции DLL:
[DllImport("c:\\users\\auror\\source\\repos\\dll1\\debug\\Dll1.dll")] public static extern int MM_HELPABOUTME();
Я учусь на этих проблемах, потому что у меня есть больше вызовов функций dll, которые будут помещены в это приложение C#.
Спасибо. Это то, что вы ищете??
Что я уже пробовал:
Я просто переписал DLL, чтобы избежать искажения имени, и DLL перестроилась нормально. Я просто пытаюсь соединить приложение C# и DLL-файл вместе и заставить его работать. Любая помощь, конечно, будет полезна.
MadMyche
Фактический код для этой процедуры был бы полезен
Rob Philpott
Это все еще проблема? Если да, то не могли бы вы опубликовать прототип C++ - это может быть несоответствие соглашению о вызовах.