Вызов метода DLL из WinDev
Я хочу использовать DLL (разработанную на C++) в приложении WinDev, моя DLL прекрасно работает с кодом C#, и я могу вызвать любой метод там, однако с Windev я могу успешно загрузить DLL, используя:
hInst = LoadDLL("MyDLL.DLL")
но когда я хочу вызвать метод следующим образом:
CallDLL32("MyDLL", "GetCode", data, res1, res2)
Я получил сообщение об ошибке "Попытка чтения или записи защищенной памяти. Это часто свидетельствует о повреждении другой памяти".
подпись метода, которую я хочу вызвать, выглядит следующим образом:
string GetCode([IN] byte[] Data, [OUT] string res1, [OUT] string res2)
1 ответ
Этот пост на французском языке предполагает, что вы префикс строки с & потому что это должно быть передано по ссылке, это должно выглядеть примерно так:
CallDLL32("MyDLL", "GetCode", &data, &res1, &res2)
Хотя я не знаю, как это работает с массивом байтов.
Вы можете вызвать Directely: функцию API
API("USER32", "SendMessageA", hWnd, wMsg, lParam1, lParam2)
документация: https://doc.windev.com/en-US/?3014005