У меня есть dll для Delphi, для которого требуется входная строка json (pAnsiChar) и возвращает int как успех или сбой. Мне удалось подключиться к dll из nodejs, используя node-ffi. Тем не менее, я получаю return int value указывает на недопустимую строку json.Вызов функции Delphi stdcall с помощью pAnisChar из узла js
Может кто-то мне точку в направлении того, как вызвать DLL Delphi с PAnsiChar в качестве аргументов функции от узла
Благодаря
Как насчет конвенции? Мои исследования показывают, что для узла ffi требуется cdecl. Знаете ли вы другое? –
Эта DLL использует stdcall, и я могу подключиться к ней с других языков, таких как vba и т. Д. И теперь я могу подключиться к DLL через вызовы node-ffi, возвращая значение для некоторых функций и не смог сделать это на функции, которая принимает json string как PAnsiChar param и возвращает строку json переданному указателю PAnsiChar – user3234437
Я понимаю, что DLL экспортирует функции 'stdcall'. Я убежден, что node-ffi может вызывать только функции 'cdecl'. Вы приняли ответ Реми, который заставляет меня поверить, что у вас есть дополнительная информация об узле-ffi, которая сообщает вам, что node-ffi может фактически называть функции 'stdcall'.Я полагаю, что правдоподобно, что node-ffi может добавить дополнительный код для определения того, подбирал ли вызываемый стек стек и соответствующим образом адаптировал его. Какая у вас информация? –