执行时,关闭不了窗口

lostmoon 2010-02-09 11:48:01
执行下面的语句的时候,无法关闭,form上的关闭按钮点了也关闭不了,必须等都执行完了,才能关,不知道错在哪里了?





while not adoquery1.eof do

begin
Application.ProcessMessages;
Edit3.Text := string(ADOQuery1.FieldByName('URL').value);
WebBrowser1.Navigate(Edit3.Text);
repeat
Application.ProcessMessages;
until (not webbrowser1.Busy);

//打开相应网站后,执行这里

adoquery1.next;
end;


...全文
107 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
starluck 2010-02-09
  • 打赏
  • 举报
回复
Application.ProcessMessages;
dd_zhouqian 2010-02-09
  • 打赏
  • 举报
回复
弄个标志位吧
m_closestatus:Boolean;


while not adoquery1.eof do

begin
if m_closestatus=True then
break;
Application.ProcessMessages;
Edit3.Text := string(ADOQuery1.FieldByName('URL').value);
WebBrowser1.Navigate(Edit3.Text);
repeat
Application.ProcessMessages;
until (not webbrowser1.Busy);

//打开相应网站后,执行这里

adoquery1.next;
end;
gyk120 2010-02-09
  • 打赏
  • 举报
回复
Application.ProcessMessages的问题,这个函数会暂时放弃CPU指令
建议换成sleep或者timer
buding79 2010-02-09
  • 打赏
  • 举报
回复
Application.ProcessMessages;
不建议用这个,会导致很多莫名其妙的问题。。。。。。
xingyongjian 2010-02-09
  • 打赏
  • 举报
回复
这个问题要自己解决; 问题就在下面的循环中,好好看看VCL的源码吧!

WebBrowser1.Navigate(Edit3.Text);
repeat
Application.ProcessMessages;
until (not webbrowser1.Busy);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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