在写COM组件的时候遇到BSTR转换问题
来源:互联网 发布:什么软件直播赚钱 编辑:程序博客网 时间:2024/05/16 17:17
大家知道,COM是一种规范,里面的字符串用的是宽字节字符集,它是一套双字节字符集。如何将BSTR转换成MFC的CString呢?
(1)将BSTR变量转换成_bstr_t类,如下
BSTR Cat = NULL;
Cat = SysAllocString(L("My Text!"));
_bstr_t ret = (_bstr_t)Cat;
(2)将_bstr_t转换成CString,如下
CString str;
str = (LPCSTR)ret;
这样就OK了。如果直接将BSTR转换成CString类型,有的人这样做:
BSTR bstr;
CString strSql;
CString 转换 BSTR:
bstr = strSql.AllocSysString(); //可以
BSTR 转换CString:
strSql = (LPCSTR)bstr;//会出问题
原因是BSTR是一个指针,对于C++,Windows头文件wtypes.h中定义如下:
typedef wchar_t WCHAR;
typedef WCHAR OLECHAR;
typedef OLECHAR __RPC_FAR *BSTR;
- 在写COM组件的时候遇到BSTR转换问题
- 在写JAVA程序的时候遇到的问题
- BSTR转换成LPCSTR时遇到的问题
- 在卸载或者升级VS2008的时候,遇到“加载安装组件时遇到问题,取消安装”
- 刚刚开始用ATL写COM组件,遇到RtlSizeHeap问题
- 这是我学习COM遇到的几个基本问题其解决 黄森堂(vcmfc)著 1.我用ATL生成一个组件对象,我在COM中使用IDD_IEncrypt,这个在哪里写义,是啥?GUID? 答:IDD_IEncry
- 在图片上传时候遇到的问题
- zabbix在configure时候遇到的问题
- java写email邮件发送的时候遇到的问题
- ios 写项目的时候遇到的问题及解决方案
- 关于写toolbar加入Menu时候遇到的问题
- Visual Basic调试COM+组件遇到的问题
- 问题记录:在打包APK的时候遇到的问题
- 问题记录:在打包APK的时候遇到的问题
- 最近在用SDK写俄罗斯的时候遇到了很多问题 ...点亮GDI盲区值得看
- 在写cmake遇到的问题
- 我们在写程序时,常常会遇到类型转换的问题。现总结一些常见的类型转换。
- 在自定义鼠标指针的时候遇到的一些问题
- 黑马程序员-java加强-注解
- IE9 下实现Web系统快捷方式到系统开始菜单中
- 恢复出厂设置时删除手机上所有联系人
- 电路板上储能电容的使用原理及方案
- 根据Sim卡的插卡情况过滤通话记录
- 在写COM组件的时候遇到BSTR转换问题
- 联系查看两张卡的未接电话记录
- MATLAB 冒号用法大全
- iphone的动画效果类型及实现方法(收集)
- 解决VS2008程序的由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题
- Dijkstra算法求图的单源最短路径
- Mybatis源码研究4:日志框架的实现
- 把拒接电话作为已经接电话写到call log中
- FDN号码完全匹配