我有一个小的ATL COM对象实现一个方法(Method1)并在调用此方法时触发一个事件(Event1) .
我可以在我的nodejs脚本中创建这个COM并调用它的方法 . 但是我无法收到它的活动 .
这段代码工作正常:
var win32ole = require('win32ole');
var api = new ActiveXObject("MySampleATLClass.Api");
api.Method1();
但是这段代码会产生错误:
var win32ole = require('win32ole');
var api = new ActiveXObject("MySampleATLClass.Api");
api.Event1 = function(bstr, obj){
console.log(bstr);
};
api.Method1();
错误详情:
在00000000模块中ASSERT .. \ src \ v8variant.cc(96)@ node_win32ole :: V8Variant :: Cre ateOCVariant:!v-> IsFunction()TypeError:node_win32ole :: V8Variant :: OLESet第二个参数无效(nu ll OCVariant)在Object . 位于Module.load的Object.Module._extensions..js(module.js:474:10)的Module._compile(module.js:456:26)处的(C:\ NodeJs \ 1.js:5:12) module.js:356:32)在Function.Module.rload(module.js:312:12)的Function.Module.runMain(module.js:497:10)启动时(node.js:119:16)at at的node.js:906:3