[fpc-pascal] FCGI MultiThreaded

Michael Schnell mschnell at lumino.de
Wed May 14 15:12:56 CEST 2014


On 05/14/2014 02:12 PM, Michael Van Canneyt wrote:
>
>
> Presumably we can expect a result by the year 2046 ? ;)

Getting Off-Topic.....

In fact I would like to have somebody else take a look at the code 
before I ask how to implement it in the LCL as a "WidgetType" activated 
by setting the project variable "WidgetType" to "ActiveNoGui" (and by 
selecting the Project type ActiveNoGui when doing a New->Project).

Here is what I have and have tested to seemingly decently work (in X86 
32 Bit Linux):

  - A TApplication class based TCustomApplication in the RTL
  - A TCustomForm class (independent form but compatible with the 
TCustomForm implementations for the different Widget Types  LCL)
  - A TTimer class (independent form but compatible with the TTimer 
implementations for the different Widget Types  LCL)

A testing project that consists of:
  - An lpr file done in the same way as an lpr file for any Lazarus 
"Application"
  - A unit that holds a TForm descendant (class and implementation) with 
the testing code for two TTimers and a TThread.


The timers and TThread.Queue work as expected.


The file "interfaces.pas" for this WidgetType, that holds the code for 
TApplication, TCustomForm and TTimer is just some 300 Lines, as it was 
not necessary to implement an Event Queue. Just using the queue the RTL 
provides is enough.



Todo:

Application.QueueAsyncCall (supposedly no problem, I know how to do that).


Do we need an emulation for PostMessage ?


What else ?


Thanks for listening,
-Michael



More information about the fpc-pascal mailing list