BSTR CCRSCActiveXCtrl::GetCameraData(SHORT command, BSTR ip, SHORT port, BSTR identifier);
函数内部得到的ip和identifier两个BSTR类型的参数值都是乱码,我是把BSTR转成char *, 然后用AfxMessageBox打出来。
我是用VS2010按多字节方式编译。
请问该如何得到正常的BSTR的值呢?谢谢!!!
6 个解决方案
#1
用LPCTSTR吧。
#2
怎么用LPCTSTR呢,我这VC2010里点右键添加方法,里面没有LPCTSTR类型,我试着自己输入LPCTSTR,VC提示我说不是VARIANT兼容的类型。
难道我建的ActiveX工程不对吗,我用ActiveX容器测试器可以调用啊。
郁闷啊。。。。
难道我建的ActiveX工程不对吗,我用ActiveX容器测试器可以调用啊。
郁闷啊。。。。
#3
BSTR 是unicode编码。估计是你BSTR转成char *时出错了。
另外传递参数是应该用unicode编码往里传递。
另外传递参数是应该用unicode编码往里传递。
#4
谢谢楼上的,确实得用UNICODE方式编译才行,送分!!
#5
用Unicode
#6
用Unicode
#1
用LPCTSTR吧。
#2
怎么用LPCTSTR呢,我这VC2010里点右键添加方法,里面没有LPCTSTR类型,我试着自己输入LPCTSTR,VC提示我说不是VARIANT兼容的类型。
难道我建的ActiveX工程不对吗,我用ActiveX容器测试器可以调用啊。
郁闷啊。。。。
难道我建的ActiveX工程不对吗,我用ActiveX容器测试器可以调用啊。
郁闷啊。。。。
#3
BSTR 是unicode编码。估计是你BSTR转成char *时出错了。
另外传递参数是应该用unicode编码往里传递。
另外传递参数是应该用unicode编码往里传递。
#4
谢谢楼上的,确实得用UNICODE方式编译才行,送分!!
#5
用Unicode
#6
用Unicode