一、类库简介
原始方案就是大佬的EventCollection,一个很古老的VB6的类库
用c++重写,并扩展和增强了其功能
二、类库特征
1、COM类库,且提供了几个导出函数
2、导出函数:
CheckObjectInterface:用于检查某个对象是否实现了某个接口
CreateObjectEx:免注册创建对象
GetSignatures:获取回调函数签名,返回值有3种格式(0=VB6,1=C,2=JSON)
SetEventCallback:绑定事件到一个特定Sub过程,特定事件的回调签名由GetSinature获取
SetGenericEventCallback:绑定事件到一个通用Sub回调过程
SetIGenericEventHandler:绑定事件到实现了IGenericEvents接口的对象
UnbindEvent:函数调用形式,取消绑定某个事件
SetStringType:非COM模式时,可以设置API中传递的字符串格式,好像还未完善,打算支持BSTR、UTF8、UTF16LE、UTF16BE、GBK、BIG5等常用编码
3、loquat.EventApp.dll未注册的情况下,引用后,EventAppModule下也声明了以上函数
且不用处理declare函数时的AU/UA转换问题
4、可用于获取对象的所有成员信息(名称、DispId、偏移、指针、参数、返回值等),用于替代tlbinf32.dll
5、可用于获取多事件接口的所有接口,并能正常触发(对于VBA/VB6没用,但是对于其他语言写的接口有意义)
三、简要调用
Dim c As Object 'loquatEvent.EventApp
Set c = CreateObject("loquatEvent.EventApp")
Dim lCookie As Long
Dim obj As Object
'创建1.dll里的CShowMsgBox类的实例,忽略大小写
Set obj = c.CreateObjectEx("c:\1.dll", "cshowmesgbox")
lCookie = c.SetEventCallBack(obj, AddressOf BeforeShowMsgBox)
o.ShowMsgBox "this is a test"
c.UnbindEvent lCookie四、详细说明
五、下载地址
上一页:没有更多了!
Copyright © 2025- vba.vip All Rights Reserved.