2个按钮内容分开的时候可以用的...但是合并在一个按钮里就不能用了...为什么呢?

c19860909 2008-10-04 10:58:19
2个按钮内容分开的时候可以用的...但是合并在一个按钮里就不能用了...为什么呢?

//分开时候


procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate('http://www.csdn.net');
end;

procedure TForm1.Button2Click(Sender: TObject);
var Document: IHTMLDocument2;
f:textfile;
begin
Document := Webbrowser1.Document as IHtmlDocument2;
memo1.lines.add(Document.body.innerTEXT);
assignfile(f,'e:\'+edit1.Text+'.txt');
rewrite(f);
closefile(f);
memo1.Lines.SaveToFile('e:\'+edit1.Text+'.txt');
document.close;
end;


//合并在一起


procedure TForm1.Button1Click(Sender: TObject);
var Document: IHTMLDocument2;
f:textfile;
begin
webbrowser1.Navigate('http://www.csdn.net');
Document := Webbrowser1.Document as IHtmlDocument2;
memo1.lines.add(Document.body.innerTEXT);
assignfile(f,'e:\'+edit1.Text+'.txt');
rewrite(f);
closefile(f);
memo1.Lines.SaveToFile('e:\'+edit1.Text+'.txt');
document.close;
end;
...全文
62 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
c19860909 2008-10-05
  • 打赏
  • 举报
回复
果然是的。。被防火墙挡住了,内容没下载好就执行下面的了,谢谢大家啦,辛苦了
hongqi162 2008-10-05
  • 打赏
  • 举报
回复
载入页面过程是一个异步操作的过程,所以出了问题
喝口水 2008-10-05
  • 打赏
  • 举报
回复
webbrowser1.Navigate('http://www.csdn.net');
sleep(2000);//让它睡上2秒,你可以视你的网速而定
Document := Webbrowser1.Document as IHtmlDocument2;
memo1.lines.add(Document.body.innerTEXT);
assignfile(f,'e:\'+edit1.Text+'.txt');
rewrite(f);
closefile(f);
memo1.Lines.SaveToFile('e:\'+edit1.Text+'.txt');
document.close;
五维思考 2008-10-05
  • 打赏
  • 举报
回复
2楼说的对
supercow 2008-10-04
  • 打赏
  • 举报
回复
Navigate 操作是异步的, 执行了以后并不等得到了整个网页后才返回.
如果接下来立即操作Document就会出现异常.
可以按照楼上所说的将Button2Click事件内容到OnDocumentComplete事件中去相应.这样能够保证Document对象存在.

其实如果你很快的点了button1而马上点button2的话, 也是会出现合并后的效果的.
pilicat 2008-10-04
  • 打赏
  • 举报
回复
原因是你执行了Navigate操作,而该操作需要从网络上获取网页资料,并予以显示,在还没有下载完毕之前,它的IHTMLDocument2接口为空,所以,执行不下去了,你可以在 WebBrowser控件的OnDocumentComplete事件中写代码。
gwhdaxia 2008-10-04
  • 打赏
  • 举报
回复
是不是因为连一起的时候,内容还没打开就执行你后面的东西,所以下面执行出来不正确

5,392

社区成员

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

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