delphi Webbrowser同时访问两个网址导致程序出错的解决办法


本文整理自网络,侵删。

 
有些时候我们用Webbrowser,在一些配置不好的机器上,访问网页会比较卡,特别是自动提交表单的时候。这时,如果一先一后访问两个网址或两个表单,而正好这时机器卡了一下。那这两个网址就变成一起传递给机器,这会造成系统文件M***.dll(具体文件名记不清了)出错而程序出错退出。想了好久,用了好多办法也没有解决这个问题,今天在写多线程程序的时候,突发奇想,用多线程访问网页怎么样呢?我就写了下面的例子,发现完美解决程序出错问题。有遇到这个问题的菜鸟拿去看看吧,高手就不要看了,见笑了。

var
  Form1: TForm1;
  Tid1, Tid2: DWord;

implementation

{$R *.dfm}

procedure Goto1();
begin
  WebBrowser1.Navigate('www.google.cn');
end;

procedure Goto2();
begin
  WebBrowser1.Navigate('www.baidu.com');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  BeginThread(nil, 0, @Goto1, nil, 0, Tid1);
  BeginThread(nil, 0, @Goto2, nil, 0, Tid2);
end;

end.

但是如果像下面这样写,十个机器有五六个会发生出错程序退出的状况:

procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('www.google.cn');
  WebBrowser1.Navigate('www.baidu.com');
end;

来路http://www.lsworks.net/article/74.html

相关阅读 >>

Delphi idhttp post 普通提交乱码处理

Delphi删除文件

Delphi 怎么截取文件路径字符串,只保留文件名

Delphi 2009 之 tcategorypanelgroup[5]: headerstyle

Delphi firedac mysql 连接

Delphi windows 编程[18] - 更换菜单项: modifymenu

Delphi中怎么取出字符串中单个char

Delphi 调用外部 dll 中的函数(2. 晚绑定)

Delphi程序带参数运行

Delphi stringgrid之属性大全

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...