• 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 > 大哥们,救救我,CWebBrowser2的Navigeat接口有内存泄漏!

大哥们,救救我,CWebBrowser2的Navigeat接口有内存泄漏!

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

佚名通过本文主要向大家介绍了cwebbrowser2,带头大哥777,带头大哥777网易博客,帮大哥,帮大哥出马宽频农民网等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 大哥们,救救我,CWebBrowser2的Navigeat接口有内存泄漏!
描述:

我是这样加入的:Project->Add to Project->Conponents and Controls->Registered ActiveX Controls->选择浏览器
然后从控件工具条选择浏览器控件加入到一个基于对话框的程序中,用ClassWizard使它关联于一个变量m_Explore,然后再一个按钮的消息中有一句m_Explore.Navigate(m_sFileName,NULL,NULL,NULL,NULL);m_sFileName是文件名,可以正常显示,但是如果多次点击按钮,即便是显示的是同一个文件,内存依然增长。
网上看到有人说Navigate()方法存在内存泄漏,但我改用Navigate2方法依然如此!
各位大虾,帮帮忙啊,急!


解决方案1:

试试 重载应用程序框架类的OnIdle函数
BOOL CXXXApp::OnIdle(LONG lCount)
{
// TODO: 在此添加专用代码和/或调用基类
try{
if (lCount <= 0)
{
ThreadOnIdle(lCount);
}
else if (lCount == 1)
{
ThreadOnIdle(lCount);
}
return lCount < 1;  // more to do if lCount < 1
}
catch(...)
{
return lCount < 1;
}
}
BOOL CXXXApp::ThreadOnIdle(LONG lCount)
{
ASSERT_VALID(this);
try{
if (lCount <= 0)
{
}
else if (lCount >= 0)
{
AFX_MODULE_THREAD_STATE* pState = _AFX_CMDTARGET_GETSTATE()->m_thread;
if (pState->m_nTempMapLock == 0)
{
// free temp maps, OLE DLLs, etc.
AfxLockTempMaps();
AfxUnlockTempMaps();
}
}
}catch(...){}
return lCount < 0;  // nothing more to do if lCount >= 0
}
=============================
全新设计的CSDN助手,支持CSDN所有功能,支持监视、收藏、历史
http://community.csdn.net/expert/topicview1.asp?id=4806193

解决方案2:

Navigate2没问题吧? 我以前用过怎么没注意到这个问题? 
按说如果有内存泄漏的话,你在Debug调试模式下退出程序时,VC的output窗口会有提示的,没有提示就证明没有内漏啊.

解决方案3:

IE 控件有自己的内存回收机制,通常情况下是不断增长的,在程序窗口最小化后你会发现内存的使用量立刻减少。


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

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

  • 有关CWebBrowser2控件截获下载文件事件的朝难问题!!
  • cwebbrowser控件打开word急
  • CWebbrowser中获取图片
  • 怎样使用cwebbrowser2得到浏览网页过程中,下载文件的url?
  • CWebBrowser2,如何在显示文本txt时,将默认的编码方式改成utf-8的形式
  • cwebbrowser无法正常完全显示网页!
  • CWebBrowser浏览https网页时的安全警告
  • 几个关于CWebBrowser2控件的问题--边框,默认网页
  • CWebBrowser2使用问题,请教!
  • IE控件CWebBrowser2为什么不能实现点击<inputtype=button>

相关文章

  • 2017-06-04 写一个activex的不可见的属性,如何写?
  • 2017-06-04 vc6使用DOSframer的基础问题!
  • 2017-06-04 com开发工具
  • 2017-06-04 怎么确定一个MFCActiveXControl里是否提供了可以被脚本语言调用的Get/Set方法?
  • 2017-06-05 CoCreateInstance返回-2147221164?
  • 2017-06-04 关于复合文档的ole传输机制,把ppt正在播放的内容通过ole的传输机制把它传出来如何做?请大家帮忙
  • 2017-06-04 请教MS专家和COMATL高手,关于BSTR和内存泄漏
  • 2017-06-05 如何正确的退出EXCEL进程
  • 2017-06-04 请教,关于SAFEARRAY
  • 2017-06-04 关于COM下的奇怪问题,高分求救!!

文章分类

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

最近更新的内容

    • 请问在ATL复合控件中添加了一个控件请问我怎样调用这个控件的方法即如何使用添加的这个控件,可加分!
    • 两个线程之间可否交换连接的对象,会不会有什么问题?
    • 请帮忙看一下这段话,线呈核心对象
    • 无窗口控件的动态创建方法
    • VS2012中IECreateFile函数不能使用
    • 串口通讯问题
    • 100分求标准输入输出的例子
    • WTL新手求助--ListView无法插入元素
    • 通过COM如何对Word实现打印功能
    • 请问DCOM,COM+的安全机制是怎样解决的,他们与win95,win98的兼容性好吗?谢谢

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

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