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