On Wed, 09 Dec 2015 12:17:55 +0100
Michael Schnell<[email protected]> wrote:
On 12/09/2015 11:45 AM, Mattias Gaertner wrote:
Application QueuAsyncCall is implemented using TThread.Queue.
What is wrong with the current implementation?
Nothing. But it uses another Queue. Queue handling needs OS calls for
waiting. I want to avoid to do any OS Calls so I simply use what the
RTL offers for exactly this purpose.
Please take a look at the NoGUI widgetset. It does not use another
Queue.
[...]
NoGUi has already a dedicated mainthread, TThread.Synchronize,
TThread.Queue, Application.ProcessMessages,
Application.QueueAsyncCall. Only SendMessage and TTimer are missing.
[...]
In fact I would not like to try to re-use the NoGUI code,
What code? It only contains the basic methods to let it compile. Any LCL
interface must have at least that.
especially as
I seem to remember that I read about several shortcomings of same (I did
not yet check myself). Is there a documentation on what exactly NoGUI is
supposed to provide ?
The NoGUI allows to compile a LCL application without a GUI. It has a few lines
of code to connect the RTL.
(I suppose this "Service Application" might replace "noGUI", but of
course same should stay in place for legacy projects. )
I guess implementing TTimer and SendMessage only needs a few hundred
lines. I see no problem adding that to the NoGUI widgetset.
As requested (and decent indeed), I herewith start a new thread and
will answer tomorrow.
Thank for caring,
-Michael
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus