社区
ATL
帖子详情
关于BSTR的使用
ink8852
2003-07-18 10:59:14
初识COM,问题多多,苦于手头资料不够。
关于CComBSTR、BSTR、CcomVariant及_bstr_t的概念、使用以及它们之间的关系是什么,那伟大虾能够详解一下,或者告诉我哪里有,我自己去看也可以!多谢~~~~
...全文
150
11
打赏
收藏
关于BSTR的使用
初识COM,问题多多,苦于手头资料不够。 关于CComBSTR、BSTR、CcomVariant及_bstr_t的概念、使用以及它们之间的关系是什么,那伟大虾能够详解一下,或者告诉我哪里有,我自己去看也可以!多谢~~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ink8852
2003-08-07
打赏
举报
回复
谢谢大家!
navychen
2003-07-22
打赏
举报
回复
我觉得BSTR就是个指针, 要手工分配释放内存。其他的都是类,可以自动构造释放。
wqf2
2003-07-22
打赏
举报
回复
xtuzi(雨人) 说得不对!!!而lcp(dupi) ,zhp80(zhp80) ,Analyst()都回答得很好,楼主可以结贴了。
ailanrenxfl
2003-07-22
打赏
举报
回复
你用“BSTR”google一下,有好几篇讲的很好
zhp80
2003-07-18
打赏
举报
回复
BSTR = CComBSTR.Copy();
BSTR = CComBSTR.Detach( );
CComBSTR = BSTR;
CComBSTR.AppendBSTR(BSTR);
CComBSTR.Attach(BSTR);
_bstr_t = BSTR;
_bstr_t.Assign(BSTR); ---.net
_bstr_t.Attach(BSTR); ---.net
BSTR = _bstr_t.Copy();
BSTR = _bstr_t.Detach( ); ---.net
CString = BSTR;
BSTR = CString.AllocSysString();
BSTR = CString.SetSysString(&BSTR);
CComVariant = BSTR;
if (CComVariant.vt == VT_BSTR) BSTR = CComVariant.bstrVal;
BSTR WINAPI
SysAllocString
SysAllocStringByteLen
SysReAllocString
SysAllocStringLen
SysReAllocStringLen
SysFreeString
lcp
2003-07-18
打赏
举报
回复
BSTR是一种文本数据类型,是包含长度前缀的OLECHAR字符串。
CComBSTR封装了BSTR,包括初始化,释放,拷贝,类型转化等。
有时,我们需要在对数据类型一无所知的情况下向它传递参数,这就要用到:
Variant,包含了数据类型和数据的值两个域;
CComVariant封装了Variant数据类型和相关的操作。
其实挺简单的,你把Variant看作是自己指定了类型的void就好了。
xtuzi
2003-07-18
打赏
举报
回复
BSTR 等同于WCHAR类型的字符串
Analyst
2003-07-18
打赏
举报
回复
BSTR是原始类型,CComBSTR和_bstr_t是BSTR的C++封装类。_variant_t和CcomVariant是VARIANT的封装类。
另外_bstr_t要比CComBSTR好用。
FAICHEN
2003-07-18
打赏
举报
回复
可以转换
common_man
2003-07-18
打赏
举报
回复
http://www.pcvc.net/category/content.asp?sendid=8
xwsn007
2003-07-18
打赏
举报
回复
up
BSTR
详解一,二
COM是一种跨编程语言的平台,需要提供语言无关的数据类型。多数编程语言有自己的字符串表示。 • C++ 字符串是以0结束的ASCII或Unicode字符数组 • Visual Basic字符串是一个ASCII字符数组加上表示长度的前缀。 • Java字符串是以0结束的Unicode字符数组。 需要定义一种通用的字符串类型,可以很容易的匹配到不同编程语言。在C++中,就是
BSTR
。
BSTR
详细解释用法
是一个关于
BSTR
的全面介绍,包括方方面面。比较详细,
BSTR
导致内存泄露问题
在开发中对经常会由于粗心或遗漏而导致的
BSTR
内存泄露问题,特意研究并进行了整理,内部有教详细的说明,希望对大家能有所帮助。(注:涉及公司版权问题,仅供参考、谢谢)
BSTR
详解.pdf
BSTR
详解,需要定义一种通用的字符串类型,可以很容易的匹配到不同编程语言。在C++中,就是
BSTR
BSTR
详解三
BSTR
设计对于C++程序员好坏参半。一方面,
BSTR
可以被用于大多数需要OLECHAR数组作为参数的函数。另一方面,不能用熟悉的C/C++函数进行对
BSTR
的分配、释放和处理,例如malloc, free, new, delete, lstrcat, and lstrlen 等函数不能用于处理
BSTR
。就像对接口指针和类指针的处理不一样,对
BSTR
的处理和对TCHAR*的处理也不一样。
BSTR
是一种C语言方式的类型定义方式,这种定义方式提高了
BSTR
在C++的应用效率,但是也带来了很多的潜在风险,它使程序员失去了利用编译器检查潜在问题的机会。
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章