首页 > nwjs通过ffi+ref 调用C的DLL,在程序退出时会抛出错误

nwjs通过ffi+ref 调用C的DLL,在程序退出时会抛出错误

使用第三模块ffi和ref 调用了C语言开发DLL。程序调用成功了。但是在整个程序关闭退出的时候。会抛出错误。
程序代码如下:


var ffi = require('../../node_modules/ffi');
var ref = require('../../node_modules/ref');
var myService = ffi.Library('./Apply1002.dll', {
'UserInit': [ 'int', ['string',ref.refType(ref.types.char),ref.refType(ref.types.char)]],
'UserClose':[ 'int', ['string',ref.refType(ref.types.char),ref.refType(ref.types.char)]],
'UserApply':['int',['int','double','string',ref.refType(ref.types.char),ref.refType(ref.types.char)]]
});

var buf = new Buffer(20000);
buf.type = ref.types.char;

var buf2 = new Buffer(20000);
buf2.type = ref.types.char;

var sFlag = myService.UserInit('$$$$',buf,buf2);
alert("sFlag="+sFlag+" "+iconv.decode(buf,'GBK'));

关闭程序退出后会抛出以下错误。


自己解决了
PS:使用win.quit();方法退出就可以了。
var gui = require('nw.gui');
var win = gui.Window.get();
win.on('close', function() {
this.hide();
this.quit();
});

【热门文章】
【热门文章】