因为只有当这个网页显示完成后才能对这个网页上的元素进行操作,否则会出错的!
解决方案 »
- ADO连接DBF显示乱码,有朋友遇到过这个问题吗?
- 关于dephi中,自定义类无法解决的问题
- 100分求ABC FOR delphi 7
- 高手快来啊,在reportbuilder中如何画一条斜线,救命啊!!!
- 多线程读取数据库同一表的所有记录.且不能重复..怎样实现?.应该是简单问题.算散分帖吧..
- 请问哪有类似于TChart控件的可以进行医疗软件方面画线(心电线等)外部控件??
- 纯粹用ADOQuery操作数据库,如何让两个表一一对应,并且顺序相同?
- 一个关于Copy函数与Length函数的问题。
- 新手——考研哪还是跳槽?请大家给些建议
- 分支定界求方程的根
- delphi 问题请教,急,在线等待
- delphi 7中的QReport怎么没有了?
有一种方法可以判断网页是否真正完成了:var glpDisp: IDispatch = nil;procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if glpDisp = nil then glpDisp := pDisp;
end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
if (glpDisp <> nil) and (glpDisp = pDisp) then begin
glpDisp := nil;
ShowMessage('完成.');
end;
end;原理是:第一次产生NavigateComplete2事件和最后一次产生DocumentComplete事件都是顶级(top-level)Frame,所以可以通过比较pDisp来判断是否完成。
在微软网站上可以查到这种判断方法:
http://support.microsoft.com/default.aspx?scid=KB;en-us;q180366