@会网络的老鼠

涂飞平的博客空间

关于脚本中事件的疑问

9 年前 0

最近在做一个小引擎的时候发现一个问题,在脚本中使用的事件,在使用C编程的时候反而显得神秘莫测了。虽然都是使用IDispatch接口来实现,但发现MS到MSScript并不是按照传统的先通过名称获取IDs,然后再调用指定IDs映射到方法,而是直接以ID=0为参数调用invoke,我将自己写的GetIDsOfNames直接返回S_OK,发现使用正常,然后再Invoke方法先显示DispID,发现是0,看来为了加速事件的响应或者简化编程,脚本中的事件采用这种比较不正规的方式来实现,但是疑问来了,如果这个事件接口有多个事件关联呢??只保留最后一个??这个显然没有ConnectionPoint接口的合理了,只是方便了一些。

编写评论