关于遇忙等待窗口的问题。(300)

  • 主题发起人 主题发起人 zkktom
  • 开始时间 开始时间
Z

zkktom

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个窗体fmwait,里面放了个label , caption为:系统正在查询,请稍等。 其它窗体(假设fmmain)调用的方式为 fmwait.Show; fmwait.Update; s1:=' where a.jqbh like ''%'+ekey.Text+'%'''; dm.opensql(q_temp,s+s1+' order by jqbh'); fmwait.visble:=false; 本fmwait执行没有问题,就是有个奇怪的问题,如果我在执行等待语句(sql记录比较长)的时候,如果点了fmmain的窗口,等结果出来后,这个fmwait没有消除,还在。请教如何处理!
 
fmwait.visble:=false;改为fmwait.hide;
 
这个最好用多线程去操作要不用我以前最简单的方法,把WINDOWs的所有特效全开,就会自动消失了
 
fmwait.Show; fmwait.Update; try s1:=' where a.jqbh like ''%'+ekey.Text+'%'''; dm.opensql(q_temp,s+s1+' order by jqbh'); finally fmwait.close; end;
 
上述办法不行。请问你们怎样处理的呢?
 
搞个topmosts属性
 
怪就怪在一个问题上,我编译调试的时候怎么样处理都是好的,但是当运行编译好的程序的时候就出现上述的情况,正的很怪
 
var tmd:dword;begin fmwait.Show; fmwait.Update; // 加上 tmd:=gettickcount()+603 while tmd>gettickcount() do application.processmessages;s1:=' where a.jqbh like ''%'+ekey.Text+'%'''; dm.opensql(q_temp,s+s1+' order by jqbh');
 
wql,不行哦
 
fmwait:=Tfmwait.create(application); fmwait.show; fmwait.Update; s1:=' where a.jqbh like ''%'+ekey.Text+'%'''; dm.opensql(q_temp,s+s1+' order by jqbh'); fmwait.visble:=false; freeandnil(free);这样更保险一点。
 
freeandnil(free);
 
多人接受答案了。
 
后退
顶部