[fpc-devel] Extension request to TThread extensions

Michael Schnell mschnell at lumino.de
Wed Aug 20 11:07:06 CEST 2014

I found that my intent to do an "active" extension (or variant) of the 
Lazarus "NoGUI" Widget Type (aka "Interface") is not possible (to be 
implemented in an IMHO sensible way) using the released version of the 
FPC RTL, but is rather easy when using the "TThread extensions" provided 
by the svn version.That is why I will hold off until the next official 
fpc release.

A (minor) problem is, that "TThread.Queue", which is the entry to the 
Thread Queue handling I need to use, is done in perfectly Delphi 
compatible way in that it does not queue the function call but simply 
performs a call to it when the calling is done from the main thread. 
While I don't think that this really makes sense, it obviously should 
stay in place for Delphi compatibility.

Now, "Application.QueueAsnycCall" should be provided in a way that is 
perfectly compatible to other Lazarus Widget types. And in Lazarus, 
"Application.QueueAsnycCall" other than "TThread.Queue" always queues 
the call, even when called from the main thread. Hence using 
TThread.Queue to implement Application.QueueAsnycCall would introduce a 
(supposedly very seldom relevant) incompatibility.

This could be helped by creating another TThread procedure for this 

Would a patch for such a thing have a chance to be accepted ?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140820/923d6ab9/attachment.html>

More information about the fpc-devel mailing list