欢迎来到老马的领地~ 这是“压风式散热底座”发明者的个人网站:) 本人QQ:80524554,用户群1:562279766
这位WS的大神这次弄出来了这个终级版本了,以下是PctGL博客中的部分原文:


本来不打算再写新的 iSubClass , 之前的版本有关 无崩溃 的问题一直没有完美解决

这两天 地雷 , 不知道突然抽什么疯, 仔细研究了一下泊来的那个不崩溃子类化的类, 发现了 vba6.dll:: EbMode

这个函数能够在 IDE 状态下获取 vb 调试器的状态 Return Value: 0 调试器停止; 1 调试器正常运行; 2 调试器被中断

很强大。。。根据 ws地雷提供的信息, 对之前版本的 iSubClass 稍稍改造了一下, 终于实现了基本稳定,不崩溃的子类化代码,而且兼具强悍效率。

泊来的那个单类子类化代码,又乱,又不高效(同时多开几个实例,程序会很卡),可能唯一的好处就是稳定了

 

现在这个代码还是有几个小问题:

    1.  用 ■ 中断停止, 会有 64 字节的资源泄漏,不过问题不大,且编译后不存在这个问题, 使用者完全可以无视。

    2.  遇有错误代码导致的调试中断(暂时状态,非退出调试)时,可能会临时性的引起vb工具栏的冻结,貌似也问题不大,多点几下 ▲ 或者 ■ 就行了

   其他问题,暂时还没发现,如有请跟帖告之。。。

此类模块可实现单类模块进行子类化,大大方便需要对多个目标进行子类化的情况,并且对工程结构也有好处,同时执行效率确实很高(我测试过同时对10个对象进行子类化拦截WM_PAINT消息,程序执行方面与CPU占用方面没有什么明显感觉)

下载地址仍然是原来这个:

单类模块子类化,无崩溃版,作者为PctGL(VB6.0)
添加评论

昵称 *

E-mail