[Lazarus] FPC 2.6.2 + Thread.Queue?

Marco van de Voort marcov at stack.nl
Wed Apr 24 13:39:38 CEST 2013


On Wed, Apr 24, 2013 at 01:03:38PM +0200, Michael Van Canneyt wrote:
> 
> Of course it can.
> 
> You make the task far too complex. Start by NOT looking at the LCL code.
> 
> You need simply to start with
> 
> TCustomEventLoopApplication = Class(TCustomApplication)
> // Whatever
> end;
> 
> Which abstracts the event loop.
> 
> Then you implement a
> 
> TConsoleEventLoopApplication = class(TCustomEventLoopApplication)
> // Whatever
> end;
> 
> which implements the event loop for console apps using whatever mechanism you see fit. 
> You could e.g. make use of libevent which provides a ready-to-go event loop.
> 
> This will demonstrate that your concept works.
> 
> After that, the remaining task is to make sure that TApplication from the 
> LCL can be built on top of TCustomEventLoopApplication. I'm sure this will 
> not take too long.
> 
> All this is perfectly doable for 1 person.

The base win32 pattern can be seen in (the old) ICS v5 (overbyte.be), unit conio.

IIRC it uses (under Delphi) forms.allocatehwnd which is annoying since it is
a non visual component in a visual unit. It did contain some primitives for
D1 though, which I used in the FPC port.




More information about the Lazarus mailing list