c # — вызов метода 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)

Хотя я не знаю, как это работает с массивом байтов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]