[Lazarus] Release Candidate 1 of Lazarus 1.6
Mattias Gaertner
nc-gaertnma at netcologne.de
Wed Dec 9 13:44:23 CET 2015
On Wed, 09 Dec 2015 12:17:55 +0100
Michael Schnell <mschnell at lumino.de> 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.
Mattias
More information about the Lazarus
mailing list