[Lazarus] Package main source on project lpr

Michael Schnell mschnell at lumino.de
Wed Jul 3 09:19:11 CEST 2013


On 07/02/2013 04:14 PM, Fabio Luis Girardi wrote:
> Hi to everybody!
>
>
> A friend are working in redesigning all PascalSCADA packages, with the
> main target to remove all graphical dependencies, to make it usable on
> console applications and service applications.
To stay compatible with the existing stuff you need to create a new 
dedicated value for the  "LCLWidgetType" macro that is selectable in the 
Project Options (using then new "Additions and Overrides" menu.

I once tried to do that (and failed, because the infrastructure is not 
done appropriately). Right now

  - the LCL provides the normal event queue that is necessary for the 
normal Object pascal  "event driven programming" paradigm
  - this is not done in a centralized way, but each "LCLWidgetType" has 
it's own code to implement this
  - on top of this, there is another event queue done in the RTL that 
needs to be synchronized with the GUI event queue

The things that need to get working in a decent non-GUI LCLWidgetType 
include:
  - TTimer
  - TThread.Synchronize
  - TThread.Queue
  - Application.QueuAsyncCall
  - Postmessage  ->  Procedure .... message

I have a testing program that checks if those decently work.

-Michael




More information about the Lazarus mailing list