Hans-Peter Diettrich wrote:
Mark Morgan Lloyd schrieb:
Michael Schnell wrote:
(Same is true for any "busy wait" polling loops in the main thread
and "busy wait" polling loops without sleep in worker threads.)
Also much database stuff in my experience. *Anything* which doesn't
return immediately is very bad news from a usability POV.
IMO there is no strict borderline between possibly lengthy operations,
from loading an file into memory up to loading a complex database query
result. When the user cannot proceed unless the operation has finished,
the GUI can wait that time, too.
Actually, I think there is a distinction here. A routine loading a file
can recognise that it's in the foreground thread and make the occasional
Application.ProcessMessages call, but in the general case I don't think
there's provision for an OnIdle callback in database drivers. I think
that Delphi/BDE had something like that, but it only worked for Oracle ODBC.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus