Hi Experts.

Since ages I am searching for an "easy" method to do "normal (i.e. "event driven") Pascal programming using Lazarus as an IDE and targeting headless embedded devices (with no GUI hardware and/or GUI software infrastructure).

I understand that the fpc RTL already provides TCustomApplication (while Lazarus creates descendants from same to do "Lazarus Applications" - of several kinds, definable by Lazarus "WidgetTypes" - in the LCL).

Now, unfortunately, there is no predefined "WidgetType" that out of the box allows for event driven programming using "normal" stuff like TTimer, TThread.Synchronize, TThread,Queue, and Application.QueuAsnycCall without forcing a GUI binding (while all this seems to be possible with mseide).

In fact some years ago I tried to create an LCL Widget Type like that, using the "Lazarus Way", but failed due to the complexity of the LCL.

I understand that (without using the LCL at all), in the RTL, it is possible to do e.g. an "Application" that provides at least one timer (see testtimer.pp) or things like a "DaemonApplication (see daemonapp.pp). At least the "DaemonApplication" seems to auto-adapt to Linux or Windows while being compiled.

But here it seems, the application programmer needs to dedicatedly tailor his code for a very special kind of application himself.

Is there (or would it be viable to have in an LCL-independent package) a more general "TCustomApplication" descendant such as "TApplication" or similar, that (auto-adapting to Linux and Windows when being compiled) provides TTimer, TThread.Synchronize, TThread,Queue, and Application.QueuAsnycCall, while allowing for decent "event driven" programming ? Here a decent (OS-dependent) mechanism needs to be implemented to notify the main thread of timer and Thread generated events so that it is able to try to fetch the next event from the queue as soon as possible after (and only when) at least one has been generated.

I would happily try to do something like that myself, but at least for the rest of this year I will not find the time :( . But as this thought comes in my mind, I now try to collect information on this issue.

Thanks,
-Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to