• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > CComPtr<IHTMLElement>pel是否都得用pelRelease;释放?

CComPtr<IHTMLElement>pel是否都得用pelRelease;释放?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了ccomptr,ccomptr 头文件,ccomptr idispatch,ccomptr 用法,pel等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: CComPtr<IHTMLElement> pel是否都得用pelRelease;释放?
描述:

绝大多数例子代码都是不释放的,哪个正确


解决方案1:

不用手动释放,跟智能指针是类似的

解决方案2:

ATLBASE.H
~CComPtr()
{
if (p)
p->Release();
}
void Release()
{
IUnknown* pTemp = p;
if (pTemp)
{
p = NULL;
pTemp->Release();
}
}
若手动释放,必须使用 .Release()

解决方案3:

不用pel.Release();来释放。
因为CComPtr本身就是要解决这个问题而产生的:)

解决方案4:

不释放---正确
pel.Release()---正确,但只有在pel有效时才能调用,通常是 if (pel) pel.Release();
pel->Release()---错误,将造成引用计数混乱,组件可能被提前释放。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 为什么用CComPtr<IObj>创建的对象不能Release,而用IObj创建对象指针,就可以Release?
  • CComPtr与_com_ptr_t模板
  • CComPtr什么时候需要release?
  • 程序中用了CComPtr的话,还需要CoInitialize和CoUninitialize吗?
  • CComPtr未定义;atlcomhrequiresatlbasehtobeinclud
  • CComQIPtr比CComPtr的好处在于哪里?不再需要显示调用QueryInterface了?
  • CComPtr指针的构造函数是不是已经包含了CoCreateInstance了?
  • _ApplicationPtr和CComPtr的区别
  • CComPtr<I>sp能否作为函数参数传递?
  • "focus”:不是“ATL::_NoAddRefReleaseOnCComPtr<T>”的成员的原因?

相关文章

  • 2017-06-05 怎么程序退出后进程还在呢?谢谢!
  • 2017-06-05 在Service中安装钩子程序
  • 2017-06-04 OCX无法正常返回值
  • 2017-06-05 DLL与进程如何共享数据
  • 2017-06-05 有关错误日志的问题!
  • 2017-06-04 当前分布式对象计算技术中哪个最好?
  • 2017-06-04 如何将PC机接收的串口数据导入MySQL数据库?
  • 2017-06-04 ActiveX在Web网页上发布的问题
  • 2017-06-04 大侠请出招:哪有COM接口函数的文档?
  • 2017-06-04 office插件

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 一个纯虚函数调用问题
    • 用什么消息知道我的鼠标从控件上移走了?
    • MFC的ActiveX控件的运行许可问题
    • RemoteDesktop管理不了我的远程服务器了!!急,急,急!
    • webbrowser中newwindow2事件的疑问
    • 请问OCX中如何返回BOOL类型的值让容器收到,并处理,请给出个代码例子,谢谢!
    • 哪位大虾能够讲一下ATL中的CComVariant类型到底是什么?
    • 求大神指点适合VC的皮肤库
    • mfc数据库用户名和密码别对失败,求解!
    • 菜鸟提问:VC6中,如何将一个类彻底删除?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有