首页 > 解决方案 > 通过 node-ffi 集成 Node.js 和 C++ DLL 中的奇怪事件行为

问题描述



我正在开发一个使用文档扫描仪的基于NW.JS的应用程序。由于该扫描仪的 API 封装在OCX组件中,因此我必须在 C++ 中构建一个包装器 DLL,并通过node-ffi模块调用此包装器。
扫描仪 API 是基于事件的,因此它会为几乎所有内容触发事件。从硬件初始化到处理文档时的图像生成。
我面临的问题是当扫描仪通知我的包装层有关正在扫描的文档中的图像时。API 会触发该事件两次,一次用于正面图像,另一次用于背面图像。使用控制台应用程序测试包装 DLL 时,一切正常,我可以从文档中获取这两个图像。如果我从 node-ffi(通过我的 NW.JS 应用程序)调用 DLL,则行为几乎相同,除了我只从文档中获取正面图像。
我使用 WinDbg 分析了两个应用程序的行为,我注意到两个测试之间的一切似乎都是相同的。唯一的区别是,在从 NW.JS 应用程序进行测试时,图像生成事件仅被触发一次。

这很奇怪,我对要调查什么的想法已经不多了。这里有人遇到过这种问题吗?
欢迎任何想法和提示。

谢谢!

标签: node.jsvisual-c++ocxnw.jsnode-ffi

解决方案


在桌子上碰到了我的头后,我发现问题是由配置文件中的拼写错误引起的。


推荐阅读