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