产品类库

当前位置:首页>产品类库

EventApp后期绑定事件触发

时间:2025-03-19 访问量:0

一、类库简介

 原始方案就是大佬的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

四、详细说明

 对象模型

 免注册

 遍历成员

 遍历事件

 事件触发

 遍历其他信息

 检查接口实现

五、下载地址

 统一下载地址

上一页:没有更多了!

下一页:升级版正则RegExp+RegExp2

发表评论:

评论记录

暂无数据!