[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