如果CComVariant a(10);
怎么把a的值转换为BSTR("10"),How to?
找了半天,介绍CComVariant的很多,介绍CComBstr的也很多,可是它们之间怎样转换,靠,居然没有介绍

解决方案 »

  1.   

    查CComVariant和CComBSTR的原码不就知道的更多了。在ATL目录下。
      

  2.   

    CComBSTR  combstr("abc");BSTR bstr = combstr;
      

  3.   

    CComVariant comvar = bstr;
    bstr = comvar.bstrval;
      

  4.   

    我查msdn终于找到答案了.我看到好多人都用自己写的程序转换,比较麻烦,因为从long,double,float,Datetime转换,处理的不好,容易出错.使用CComVariant.ChangeType就可以解决了 CComVariant comvar(10); comvar.ChangeType(VT_BSTR); CComBSTR bstrx; bstrx = comvar.bstrVal
      

  5.   

    终于看到高手了.VariantChangeType是api,用起来和CComVariant.ChangeType是一样的.
      

  6.   

    CComVariant comvar = bstr;
    bstr = comvar.bstrval;