On Wed, 09 Dec 2015 11:08:48 +0100 Michael Schnell <[email protected]> wrote:
> On 12/08/2015 05:59 PM, Mattias Gaertner wrote: > > For example? > > TTimer is implemented using the timeout in checksynchronize(). Looks perfectly fitting for the NoGUI widgetset to me. > Application QueuAsyncCall is implemented using TThread.Queue. What is wrong with the current implementation? > > A new application type requires a design time package. > > That means after installing the package, the application type is > selectable from the list of possible application types ? Choosing that > application type will set the appropriate defines for compiling the > sources ? Correct ? Yes. > Where can I find documentation on this ? Many concepts are explained here: http://wiki.lazarus.freepascal.org/Extending_the_IDE Lazarus contains several examples of such design time packages. Maybe instantfpclaz.lpk is a good start. >[...] > > What's the difference between a "General Service Application" and a > > "Service Application"? > > I chose the name "General Service Application" rather than the former > suggested name "active NoGui", as I think that is more understandable > for users that might need it. > > It is "General" because the code is independent of CPU arch and OS. Since FPC/Lazarus is cross platform, it usually works the other way round. For instance "Windows Service Application" for platform dependent, just "Service Application" for cross platform. >[...] > it is "Application" because it (hopefully) supports the Event > programming paradigm, including a dedicated mainthread, TTimer, > TThread.Synchronize, TThread.Queue, Application.ProcessMessages, > Application.QueueAsyncCall, SendMessage from a worker thread to the main > threads to be received via "procedure .... message" etc, working in the > same way as a Windows or Linux-GUI application, without the user needing > to bother about the infrastructure that manages the event queuing. NoGUi has already a dedicated mainthread, TThread.Synchronize, TThread.Queue, Application.ProcessMessages, Application.QueueAsyncCall. Only SendMessage and TTimer are missing. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
