[Lazarus] Lazarus and Application.ProcessMessages
Michael Schnell
mschnell at lumino.de
Fri Dec 5 14:53:38 CET 2014
On 12/04/2014 04:24 PM, Lukasz Sokol wrote:
> Or e.g. I run FindFirst/FindNext loop over a large number of files, or
> even if I delegate reading of a file to another procedure, still takes
> time while nothing else can happen... (although /that/ actually I can
> imagine doing in a thread). Then such Application.ProcessMessages is
> about the only option ?
A long winding loop (such as "FindNext" freezes the GUI and all TTimers
if you don't include ProcessMessages.
If doing the loop in a Thread you can send status messages to the main
(GUI) thread by means of TThread.Queue or Application.QueueAsyncCall.
(You do know that you can't access the GUI from a worker thread.)
-Michael
More information about the Lazarus
mailing list