[Lazarus] Event created by program logic rather than user

Michael Schnell mschnell at lumino.de
Tue Nov 10 13:23:51 CET 2015

On 11/10/2015 01:14 PM, Engelbert Buxbaum wrote:
> as far as I can see the only advantage of running the math-routine in 
> a thread
> would be that the program could be terminated at any time, rather than 
> only
> in the main loop.
If a long winding calculation runs in a Thread, the complete main thread 
(including the GUI) is not blocked and the program can do any other 
stuff (e.g. as a reaction on  TTimer events, and also as a reaction on 
Events this or any other  thread fires via TThread.Queue).

Moreover on a multi-CPU system (which is standard nowadays), multiple 
threads can do long winding calculations at the same time and finish by 
far faster than a single threaded program.

> Even if one did it like that, the original problem remains: who is the 
> sender
> in the FormPaint call?
As any GUI stuff is only allowed in the main thread it can only be the 
Main thread (if this is what you are asking)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151110/65c7fa42/attachment-0003.html>

More information about the Lazarus mailing list