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. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
