这两天在研究COM组件与javascript交互,要访问设备,所以想用进程外COM实现。
实际调试过程中,发现javascript只能响应部分事件(IDL中定义的第一个事件),也不支持for...event形式的事件连接。
VC2010示例中的Ploygon项目倒正常处理事件,什么原因呢? 比较了项目的定义也没发现明显的不同。
剩下的只有进程内和外的区别了,于是创建了进程内项目测试, 结果事件响应没问题。
进程外COM的事件不能很好的响应(原因未知),看来,只好选择用进程内COM+服务来实现对设备的控制了,真的是这样吗?
参考了论坛 http://bbs.csdn.net/topics/370096340,深受启发。
按照 function objid::eventname 方式定义了函数,试验发现可以正常捕捉事件,OK,问题解决!
这种用法称作Automagic , Automagic 是 Script Engine 提供的,而不是IE语法。