一个访问网页的小程序,运行一段时间后,就无法访问任何网址了 做的一个采集网页内容的小程序,在自动运行一段时间后,有时候是几小时,有时候是几天,就无法访问到任何网页(不关程序换网址)了,必须关闭程序重启才可以,请问这可能是什么原因造成的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关键问题是你用什么实现的,IdHTTP? WebBrowser? 原生Socket? 用的TauHTTP组件,它是用的WinInet 把分析页面文本的代码先注释掉,只要访问WEB的部分,不去分析,看是否还会出问题 是用的idhttp吗。我好像也碰到了这个问题。 无法访问是什么意思?程序报错了还是没响应了?cpu满载了还是内存有啥问题?原因太多啦,关键点写日志看看吧~ 1、程序没报错、也不是程序假死无响应;2、cpu没占满;3、内存没问题;4、防火墙没问题;就是在运行一段时间后,再发出任何HTTP连接请求时,一直无响应、处于等待状态。重启程序就好了,开始怀疑是否长时间使用一个相同本地客户端连接端口造成,但后来让端口动态变动,仍然不行。 贴出你关键位置的代码,应该是内存出错,或者是try掉了 没有超时,用fastmm4 没有检测到内存泄露 跪求,我也有一事不明:关于webbrowser的。打扰楼主讨论了,不好意思啊procedure TForm1.Button1Click(Sender: TObject);beginmyweb[n]:=Twebbrowser.create(form1);myweb[n].parentwindow:=self.Handle;myweb[n].Top:=button1.Top+button1.Height+10;myweb[n].SetBounds(button1.Left+10*n,button1.Top+button1.Height+10,30,30);myweb[n].Show;myweb[n].Navigate('http://127.0.0.1');inc(n);end;procedure TForm1.Button1Click(Sender: TObject);beginmyweb[n]:=Twebbrowser.create(form1);myweb[n].parentwindow:=self.Handle;myweb[n].Top:=button1.Top+button1.Height+10;myweb[n].SetBounds(button1.Left+10*n,button1.Top+button1.Height+10,30,30);myweb[n].Show;myweb[n].Navigate('http://127.0.0.1');inc(n);end;这个错哪了?我还没积分发帖,不好意思 idhttp不会遇到这个问题,我一直在使用!开100个或更多的线程,只是访问网页慢一点,对其它没影响,玩游戏什么的没事!不过也不建议开这么多线程.呵呵!你的这个组件我就不清楚了.刚开始学多线程的时候遇到过这类问题,好像是线程没写好的原因.现在没有出现过这类问题. 创建窗体内存错误~~求解 delphi 调用DLL问题。 XMLDocument中如何在指定位置插入子节点啊? 请教怎样实现 在打开软件的时候 不允许用户切换到其他任务 文件上传的问题 用delphi做在线编辑office的Activex控件 关于FileWrite函数的简单问题,盼答,100分. delphi中text控件中字符串转换成整型函数用什么方法啊!?我急,我在线! 如何动态的创建frame? 我想实现窗体的背景图!有些问题,请帮帮忙! 用什么方法可以实现这个功能? 现场给分,同样的代码,D2007系统中,解密不了XE生成的加密字符串,怎么办?
我好像也碰到了这个问题。
2、cpu没占满;
3、内存没问题;
4、防火墙没问题;就是在运行一段时间后,再发出任何HTTP连接请求时,一直无响应、处于等待状态。重启程序就好了,开始怀疑是否长时间使用一个相同本地客户端连接端口造成,但后来让端口动态变动,仍然不行。
beginmyweb[n]:=Twebbrowser.create(form1);
myweb[n].parentwindow:=self.Handle;
myweb[n].Top:=button1.Top+button1.Height+10;
myweb[n].SetBounds(button1.Left+10*n,button1.Top+button1.Height+10,30,30);
myweb[n].Show;
myweb[n].Navigate('http://127.0.0.1');
inc(n);
end;
procedure TForm1.Button1Click(Sender: TObject);
beginmyweb[n]:=Twebbrowser.create(form1);
myweb[n].parentwindow:=self.Handle;
myweb[n].Top:=button1.Top+button1.Height+10;
myweb[n].SetBounds(button1.Left+10*n,button1.Top+button1.Height+10,30,30);
myweb[n].Show;
myweb[n].Navigate('http://127.0.0.1');
inc(n);
end;
这个错哪了?我还没积分发帖,不好意思
开100个或更多的线程,只是访问网页慢一点,对其它没影响,玩游戏什么的没事!
不过也不建议开这么多线程.呵呵!
你的这个组件我就不清楚了.
刚开始学多线程的时候遇到过这类问题,好像是线程没写好的原因.现在没有出现过这类问题.