首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++Builder 2010没有CComHeapPtr?

C++Builder 2010没有CComHeapPtr?
EN

Stack Overflow用户
提问于 2013-02-26 18:18:17
回答 1查看 296关注 0票数 0

我尝试在Embarcadero C++Builder 2010中使用CComHeapPtr智能指针,但在提供的任何头文件中都找不到定义。我得到了这个错误。

代码语言:javascript
复制
[BCC32 Error] E2451 Undefined symbol 'CComHeapPtr'

它不在atlbase.h中(而且atlalloc.h似乎完全缺失了)。

我打算使用它来提供从IShellFolder::ParseDisplayName返回的ItemIDList的异常安全释放。

它在这个版本中存在吗,或者C++Builder只是使用了一个令人难以置信的旧版本的ATL?

而且,除了滚动我自己的之外,还有更好的选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 07:19:10

C++Builder附带的任何版本的CComHeapPtr都不可用。

C++Builder确实支持ATL,但它的旧版本。微软已经停止将ATL授权给第三方,最新的ATL依赖于VC++特定的编译器扩展。ATL是工作C++Builder文件附带的最后一个版本。C++Builder XE2以后的版本仍然支持ATL,但前提是您拥有早期C++Builder版本的ATL文件的副本(XE2有存根文件,其中包含#error语句,如果您尝试使用它们,就会发出警告)。ActiveX现在正式支持使用Embarcadero自己的DAX框架,该框架与ATL不兼容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15086493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档