Michael Schnell wrote:
On 12/28/2013 10:07 PM, Mark Morgan Lloyd wrote:

Thanks, I'm reading stdin directly with a tight timeout using fpselect so it sounds like I should be able to manage something.

This of course requests for a multithreaded application. (i.e. the threads that handle the blocking pipes communicate with the main thread via "TThread.Queue" or "Application.QueueAsyncCall").

In fact without a GUI binding currently you even can't use TTimer.

Exact,y this is why I am planing to do a "active NoGui" "Widget Type" - and since not that long I do know how this can be done. :-)

As Michael and Sven state, "TThread.Queue", "Application.QueueAsyncCall" depend on checksynchronize() (and TTimer needs a dedicated implementation in a new WidgetType, anyway).

Thanks, yes. In practice there will be limited communication between backend threads and the frontend console, I think I've managed to organise things so that there's effectively a single point of contact and the program will be able to run in text mode (i.e. inside something like GNU Screen) or with a GUI.

The non-GUI version is a <1Mb binary smartlinked and stripped, which is credible for publishing. Haven't a clue what the GUI version will come to yet, since I want to embed symbolic debugging and a simulated logic analyser which implies pulling in a lot of code.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to