node-ffi - 无法使 node-ffi 模块工作

标签 node-ffi

只是为了测试目的,我在 delphi 中创建了一个小的 DLL。代码为:

library MyDll;
uses
    SysUtils,
    Classes,
    Vcl.Dialogs;
function DllMessage(const echo: string): string;  export;
begin
    //ShowMessage('Hello world from a Delphi DLL') ;
    Result := 'Echo:  ' + echo;
end;
exports DllMessage;
begin
end

我只想用这个 nodejs 代码运行这么简单的东西:

var ffi = require('ffi');
console.log("1");
var mylib = ffi.Library('MyDll', {'DllMessage': [ 'string', [ 'string' ] ] });
console.log(2");
var outstring = mylib.DllMessage('abc');
console.log("3" + outstring);

问题是我在控制台上只看到“1”和“2”,没有别的。 请帮忙,有什么想法吗?

提前致谢

最佳答案

将字符串数据作为缓冲区传递

var message = Buffer.from('abc')
var outstring = mylib.DllMessage(message);
console.log("3" + outstring);

关于node-ffi - 无法使 node-ffi 模块工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520948/

相关文章:

c++ - 用于访问现有 C++ 功能的 node-ffi 与 node 扩展

node.js - 如何在 win32-api Node 模块中使用带有 EnumWindows 的自定义结构

javascript - 使用 Node-ffi 写入文件

c - Node FFI 包装函数在同步使用时失败,但异步工作

javascript - Node webkit WinAPI

c++ - 尝试在 Windows 10 上安装 node-ffi 出现错误 : error C2660: 'v8::FunctionTemplate::GetFunction' : function does not take 0 arguments

node.js - 从 Node.js 调用 C++ 库 (Node addons/node-ffi)

c - 无法使用 FFI 将结构内部的字符串数组传递给 C 函数

javascript - 使用 C++ 中的构造函数时 ffi 的返回类型是什么