CString类型如何转换成BSTR FAR* ?
我写Active X外接口为BSTR FAR*类型,我如何将CString转化为BSTR FAR*类型数据,注意是BSTR FAR*类型数据不是BSTR
[解决办法]
1、CString转换成BSTR
通常是通过使用CStringT::AllocSysString来实现。例如:
CString str("This is a test");
BSTR bstrText = str.AllocSysString();
…
SysFreeString(bstrText); // 用完释放
2、BSTR转换成CString
一般可按下列方法进行:
BSTR bstrText = ::SysAllocString(L"Test");
CStringA str;
str.Empty();
str = bstrText;
或
CStringA str(bstrText);
[解决办法]
CString str("123");
BSTR bstrNum = str.AllocSysString();
MyFunc((BSTR FAR *)&bstrNum)
SysFreeString(bstrText); // 用完释放