产品类库

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

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

发表评论:

评论记录

暂无数据!