运行时调用新的COM组件

ZDNet软件频道 时间:2003-02-21 作者:BUILDER.COM |  我要评论()
本文关键词:
在进行基于组件的程序开发时,你可能需要在运行时用到新的组件。这些组件可以增加额外的功能,譬如用新格式输出数据或者替换一个现有的功能。但是一般情况下,你不可能在调用软件前把所有要用到的组件都考虑到。你可以使用Microsoft公司的TypeLibInformation 组件在程序运行

在进行基于组件的程序开发时,你可能需要在运行时用到新的组件。这些组件可以增加额外的功能,譬如用新格式输出数据或者替换一个现有的功能。但是一般情况下,你不可能在调用软件前把所有要用到的组件都考虑到。

你可以使用Microsoft公司的TypeLibInformation组件在程序运行时加载和执行新的组件。这个组件提供程序接口为Component Object Model (COM)的组件测定库信息。

下面的程序显示如何加载一个新的组件到TypeInfo对象。这个对象提供类执行时的界面,方法,属性及事件的信息。下面的例子显示的是将TypeInfo对象用到ActiveX Data Objects (ADO) Recordset对象上。

一旦你设置了TypeInfo对象,你就可以使用Members集合通过方法和属性来对对象做迭代。这个集合包括MemberInfo对象,可以提供关于每个方法的信息,如名称和方法是如何被调用的(InvokeKind)。

利用MemberInfo对象提供的信息,你可以通过InvokeHookInvokeHookSub函数对对象执行方法。

下面的代码显示的是通过对Members集合的迭代来给CursorLocation属性定位并且将其设置到adUseClient (3)



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134