TWebBrowser使用中出现的几样怪问题(BUG?)

首先说明一下,我的环境是Windows 2000 DataCenter Server(装着玩的), Delphi 7
IE6 Sp1
我在使用TWebBrowser的时候出现了一些我认为不该出现的事情


1-TWebBrowser.Free之后可能并没有真正释放所有资源...实际上这种现象只在使用TWebBrowser.document这个属性的时候出现,我能观察到的一个细节就是:当调用TWebBrowser.document的时候,引用计数器不是+1,而是+3!但是在取消引用的时候,还是按照1释放,这就导致引用计数器未规零的现象...搞不清楚究竟是ie内核的问题还是Delphi封装的问题(脑力不够),在98+IE5 XP+ie6sp1 2000+ie6sp1等环境下测试同一个程序都有这种状况,处理办法似乎是手动调用两次释放接口引用

2-document.parentWindow: IHTMLWindow2  这个接口在调用的时候计数器没有出现明显问题,如果用_Addref的话,返回结果始终是0,但是实际上计数正常...在98下document: IHTMLDocument2也有这个问题,看起来似乎是IE本身设计的问题?...

3-TWebBrowser.SetFocus方法不能让浏览器控件获得焦点,并且导致窗体关闭(应该是同时触发了TWebBrowser.Free)时出现异常(水平有限,搞不懂这个异常怎么来的)。这个时候偶的做法是用findwindowex找到里面真正的浏览器控件句柄,然后用sendmessage模拟单击(我猜这个方法肯定够笨的,谁有更好的方法请告诉我),这个绝对是Delphi封装时有问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值