_variant_t与其他数据类型的转换

_variant_t与其他数据类型的转换

ID:40492363

大小:100.50 KB

页数:7页

时间:2019-08-03

_variant_t与其他数据类型的转换_第1页
_variant_t与其他数据类型的转换_第2页
_variant_t与其他数据类型的转换_第3页
_variant_t与其他数据类型的转换_第4页
_variant_t与其他数据类型的转换_第5页
资源描述:

《_variant_t与其他数据类型的转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、_variant_t与其他数据类型的转换 我们先看看COM所支持的一些类型的基本类:(微软提供,在comdef.h中定义)在COM中使用的标准类Class如下所示:_bstr_t:对BSTR类型进行打包,并提供有用的操作和方法;_com_error:定义抛出的error对象;_com_ptr_t:封装COM接口指针_variant_t:对VARIANT类型进行打包,并提供有用的操作和方法;一、_variant_t类的简单介绍:_variant_t对象封装了VARIANT数据类型。Theclassmanagesresourceallocationanddeallocationa

2、ndmakesfunctioncallstoVariantInitandVariantClearasappropriate.(1)_variant类提供的方法:1>构造函数_variant_t对_variant_t变量初始化调用的是_variant_t的构造函数。我们一般习惯于用一个int型的变量对数字类的变量进行初始化,这对_variant_t变量是不允许的。原因很简单,_variant_t的构造函数中没有用整型(Int)对其初始化的构造函数可先将整型转化成long,然后再对其进行初始化2>Attach()AttachesaVARIANTobjectintothe_vari

3、ant_tobject.3>Clear()ClearstheencapsulatedVARIANTobject.4>ChangeTypeChangesthetypeofthe_variant_tobjecttotheindicatedVARTYPE.5>DetachDetachestheencapsulatedVARIANTobjectfromthis_variant_tobject.6> SetString将一个string赋值给_variant_t对象;7>Operators赋值操作,给现有的_variant_t对象赋一个新值;8>operator==,!=对比两个_va

4、riant_t对象是否相等;9>ExtractorsExtractdatafromtheencapsulatedVARIANTobject.(2)_variant_t的定义:_variant_t类封闭了VARIANT数据类型,VARIANT是一个结构体类型,我们可以看一下它的定义[cpp]viewplaincopyprint?typedef struct tagVARIANT   {      VARTYPE vt;                             //存储数据类型      unsigned short wReserved1;      unsign

5、ed short wReserved2;      unsigned short wReserved3;      union       {          Byte bVal;                          // VT_UI1.          Short iVal;                         // VT_I2.          long lVal;                          // VT_I4.          float fltVal;                       // VT_R4

6、.          double dblVal;                      // VT_R8.          VARIANT_BOOL boolVal;               // VT_BOOL.          SCODE scode;                        // VT_ERROR.          CY cyVal;                           // VT_CY.          DATE date;                          // VT_DATE.        

7、  BSTR bstrVal;                       // VT_BSTR.          DECIMAL FAR* pdecVal                // VT_BYREF

8、VT_DECIMAL.          IUnknown FAR* punkVal;              // VT_UNKNOWN.          IDispatch FAR* pdispVal;            // VT_DISPATCH.          SAFEA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。