大量查询时怎么避免界面死掉? 我在进行大量查询时,GRID和其他控件都死掉了,请问调用什么函数能避免这种情况呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在循规中加入 Applicatin.ProcessMessages; 线程是一个解决的方法,hehe,其实重要的还是你的机器的性能 Applicatin.ProcessMessages; TUpdateThread = class(TThread)private FForm: TForm; procudure Execute;override;public constructor create(Parent: TForm);end; constructor TUpdateThread.create(Parent: TForm);begin FForm := Parent; FreeOnTerminited := true; inherited Create(false)end;procudure TUpdateThread.Execute;override;begin try while not Terminated do if Assigned(FForm) then begin FForm.Update; Applicatin.ProcessMessages; end; except end;end;var UpdateThread: TUpdateThread;在你的查询开始前UpdateThread := TUpdateThread.Create(Self);在你的查询结束时UpdateThread.Terminate;注意不用UpdateThread.free; to huojiehai(海天子) :FreeOnTerminited 这个变量是干什么的?我试过你的例子后立刻结帐,麻烦你给我讲解一下! http://expert.csdn.net/Expert/topic/1610/1610575.xml?temp=.9948542来解决这个问题先! 100分求助 MDI子窗体问题 大侠请进,关于注册热键的问题和计数的问题 delphi的res文件创建问题 delphi如何应用动态sql? 兼职开发程序报酬怎么计 声明函数时,发生的错误 利用NMUDP进行文件传输的例子? 在线急等 大家帮帮忙~~谢谢 关于客户端访问服务器的数据库 如何模拟键盘按下了ctrl+某个键(比如ctrl+A)? 关于Com口和打印口编程的问题! Flash问题,初学!请帮忙!
Applicatin.ProcessMessages;
Applicatin.ProcessMessages;
private
FForm: TForm;
procudure Execute;override;
public
constructor create(Parent: TForm);
end;
constructor TUpdateThread.create(Parent: TForm);
begin
FForm := Parent;
FreeOnTerminited := true;
inherited Create(false)
end;
procudure TUpdateThread.Execute;override;
begin
try
while not Terminated do
if Assigned(FForm) then
begin
FForm.Update;
Applicatin.ProcessMessages;
end;
except
end;
end;var UpdateThread: TUpdateThread;
在你的查询开始前
UpdateThread := TUpdateThread.Create(Self);
在你的查询结束时
UpdateThread.Terminate;
注意不用UpdateThread.free;
来解决这个问题先!