用VC做COM如果用来和其他应用程序交互,就牵扯到数据类型转换,可是对于集中数据类型如何转换偶还不是很清楚,请各位大侠教教偶啊

解决方案 »

  1.   

    BSTR 是指针字符串,VIARANT是变类型,VIARANT可以用来定义任意一种类型,通过它的成员函数进行转换
      

  2.   

    http://www.csdn.net/develop/Read_Article.asp?Id=12365
      

  3.   

    我觉得最好别用BSTR和VAIRANT,而使用_bstr_t和_variant_t的对象,这样不容易产生错误
    BSTR在一般被定义成unsigned short *,VARIANT仅仅是一个较复杂的结构体
      

  4.   

    接口方法中的参数最好用VAIRANT类型,这样其他语言访问不会出现问题..随便找一个com书都讲了这些的...
      

  5.   

    我用的比较多的是BSTR、_bstr_t和_variant_t。后面两个可以包含任意的数据类型。
      

  6.   

    使用CComVariant和CComBSTR类最简单了
      

  7.   

    一般讲com的书都有介绍的。VAIRANT是一个union
      

  8.   

    VARIANT是一个任意类型,几乎可以表示任何类型,包括接口指针,它主要用来函数调用时传递参数. 它有MFC的封装类:CComVariant. BSTR一个包括长度信息的是字符串.
      

  9.   

    BSTR bstr = CComBSTR("Left"); 把Left直接赋值给bstr
    Variant Vstr = CComVariant(Left);把Left为BSTR型转换为Variant 
    BSRT Bstr = CComBSTR("Left");把Left为Variant型转换为BSTR