Michael Schnell wrote:
On 04/02/2014 10:53 PM, Roberto P. wrote:
I'd like to point out that CPortLaz is multithreaded

Does it work similar to AsyncPro ?

In fact, IMHO, it would be desirable to have a component that _internally_ uses TThread to handle blocking ports (either using just a byte-FIDO - this is what AsyncPro does - and/or allowing the user to

I agree. My mods to serial.pp were accepted into trunk a few weeks ago, but that is explicitly unthreaded since it's intended as the lowest layer for cases where- as an example- timestamps or changes to physical control lines need to be enqueued with the character stream.

implement a protocol within the Thread's "Execute" ), and when some information from the port is received (at least one byte or when the protocol handler issues a "ready"), does an Event (aka queued callback) to the main thread.

With the caveat that this sort of thing needs to be implemented very carefully so that it can interwork with e.g. a terminal emulator component. I think the two would need to be designed together, even if in practice one was coded first.

Until then, FPC's thread handling is sufficiently good that an application-specific hack isn't particularly difficult.

--
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
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to