TWebBrowser到底错在哪里?

mzgmzg 2001-05-30 10:36:00
我用DELPHI5.0、TWebBrowser编写浏览器,动态创建WebBrowser,放在PageControl中,创建时开了几十个窗口都没有问题,但在关闭了两个窗口后(释放所创建的WebBrowser、PageControl.Page),用鼠标在剩下的网页中任意地方一点,立即出错,“Access violation at address 00000000.Read of Address 00000000'。我吃不好、睡不香,可能错在哪里呢???

另外,按照有的文章的说法,我在程序最后 End. 前加入下列代码:
initialization
OleInitialize(nil);
finalization
try
OleUninitialize;
except
end;

但总是报 [Error] iwwindow.pas(968): 未说明标识符: 'OleInitialize'
我还应该加一点什么东西呢?
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzgmzg 2001-05-31
  • 打赏
  • 举报
回复
第二个问题已经解决。第一个问题有人关注吗?
mzgmzg 2001-05-31
  • 打赏
  • 举报
回复
释放时,pagecontrol1.Pages[ClosePage].Free, web.free。
我好象已经解决了,把释放顺序换了一下,先释放Web,再释放pagecontrol1.Pages,试了几下,暂时没发现有错。
我得再多试几下!
Thank you!
kimryo 2001-05-31
  • 打赏
  • 举报
回复
我认为应该这样,用一个结构体,纪录每一个Broswer的地址,做一个链表,删除时释放。
不知你那个web变量整样处理的。
mzgmzg 2001-05-31
  • 打赏
  • 举报
回复
需要指针吗?该怎么做?我的程序是这样的:
with TTabSheet.Create(nil) do begin
pagecontrol:=pagecontrol1;
name:='tabsheet'+inttostr(i);
caption:='blank';
end;
web:=TWebbrowser.Create(self);
Twincontrol(web).parent:=pagecontrol1.pages[pagecontrol1.pagecount-1];
可以这样吗?
kimryo 2001-05-31
  • 打赏
  • 举报
回复
你动态创建WebBroswer的指针整样处理的?

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧