【发布时间】:2012-12-31 01:00:20
【问题描述】:
有了sdac,我可以让程序响应用户输入:
while Query.Executing do
begin
Application.ProcessMessages;
Sleep(1);
end;
如何实现与anydac查询相同的代码(没有类似的功能)?
我正在使用 delphi xe2 和 anydac v6。
【问题讨论】:
-
您不应该像这样使用
ProcessMessages(),无论您使用 sdac 还是 anydac 或其他任何东西。您应该将冗长的阻塞操作(例如数据库查询)移到它们自己的单独线程中,并且根本不要阻塞主线程。 -
快速查看 da-soft 的文档并没有显示任何方法可以做到这一点,但您确实应该询问他们的支持部门。 (而且不管它在做什么,你的代码都非常糟糕;对
sleep(1)的调用使用了很高比例的 CPU,除了一次又一次调用ProcessMessages之外什么都不做,这使得 other 应用程序变慢也回应。) -
@Fred:不,他发布的代码适用于 Devart;他正在尝试解决 da-soft 的 Anydac 的问题。再次阅读问题,并检查问题中发布的链接。
标签: delphi delphi-xe2 anydac