vb般的VC++开发(3)--#import

   在vb中可通过"引用"来加入要使用的COM组件,在vc++中则通过"#import"语句来加入COM组件。使用"#import",vc++就会自动生成COM组件中接口的所有包装类,而且封装对COM异常的处理,使我们可以采用强类型的方式进行调用。当然,"#import"不是必需的,比如我们通过IDispatch或IDispatchEx接口访问COM组件时。

#import语法如下:

#import "filename" [attributes] 
filename可以是包含类型库的文件,如.olb、.tlb、.dll文件
filename也可以是类型库的guid,或COM组件Id
 
 

如:

//导入mshtml组件
#pragma warning(disable:4192)   //避免大量的编译警告
#import "mshtml.tlb" rename("TranslateAccelerator","TranslateAccelerator_HTML")

//导入msxml组件
#import "progid:MSXML2.DomDocument"

//导入adodb组件
#import "libid:00000205-0000-0010-8000-00aa006d2ea4"  \
 rename("EOF", "EndOfFile")\
 rename("Error","AdoError")
 
 

为pimshell开发组件时,有以下几个建议:

  1. 尽量通过#import导入组件,而不是使用Windows SDK提供的接口。如mshtml组件中的IHTMLDocument2和msxml组件中的IXMLDOMDocument接口,在Windows SDK中均有提供。前面我们说过使用"#import",vc++就会自动生成COM组件中接口的所有包装类,而且封装对COM异常的处理。
  2. 尽量使用命名空间。这样就可避免与Windows SDK提供的接口相冲突,也可以充分利用vc++自动感知的好处。
  3. 合理的使用#pragma warning,减少大量的编译警告,也会加快项目的编译。

 

 

原文:http://blog.csdn.net/pimshell/archive/2008/07/24/2705663.aspx

转载于:https://www.cnblogs.com/changyou/archive/2010/01/12/1645190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值