对于VARIANT类型中BSTR型变量如何赋值
同上
[解决办法]
强制赋值
BSTR aa;
CString bb;
bb=_T( "test ")
aa=BSTR(bb);
[解决办法]
可能应该像下面这样:
TCHAR* szTemp;
VARIANT var;
var.vt = VT_BSTR;
#ifdef UNICODE
var.bstrVal = szTemp;
#else
USES_CONVERSION;
var.bstrVal = ::SysAllocString(A2W(szTemp));
#endif
// 使用完了之后
::SysFreeString(var.bstrVal);
[解决办法]
楼上的正解,如果不是字符窜的话,可以使用SysAllocStringByteLen,同样使用完需要释放。
BSTR bstr = SysAllocStringByteLen(NULL, 100);
...
SysFreeString(bstr);