按:这个技巧对于工程的强壮性有帮助,而且也比较方便.可能很多朋友都会了,不过应该还不是所有人都玩过/有时间玩,所以就发发了.
有些对象有事件,如果使用声明为Object的方式,是无法得到事件的.
想使用其事件就得引用此DLL.
如果既想动态调用DLL中的对象,又想使用对象的事件,可以试一下本文的方法(完整代码见后).
总体思路比较简单,如下:
一,利用EditTlb工具(Matthew Curland大师作品,后面有下载)打开目标DLL,直接另存为TLB.
然后再用EditTlb打开这个TLB,改一下GUID,类接口的名称,保存备用.
二,EXE工程里引用这个TLB,利用其中与DLL中对象一模一样的接口,写好事件相
关代码.
三,使用CreateObject创建对象.
如果DLL正确地注册了,那么就会成功,否则会失败.
其中EditTlb工具是重点,让本来需要用ODL语言生成TLB的过程成为过去....
在这种应用中,完全没必要折腾ODL语言,所以有工具还是用工具吧....
关于PowerVB的工具,我打了个包,包括EditTlb在内.还有本文的示例代码:
点击下载此文件
PS:
之前在原BLOG里也写了一篇,地址:
http://www.m5home.com/blog2/blogview.asp?logID=329&cateID=2
现在这篇写得详细一些,感觉应该比原来那篇好懂点吧~~