Hallo Anton,
ich habe mal versucht alles etwas zu entzerren.
Neu ist eine Thread: cncDataReceiver
Der liest Daten von dem comport und packt die Meldungen
in die Queue fInMessageQueue.
Diese Queue wird von dem Thread cnsMessageDispatcher gelesen.
Die Meldungen werden dort verarbeitet und entsprechende Messages gepostet.
Die Daten die zum comport geschickt werden sollen werden von dem Thread cncDataTransmitter verarbeitet.
Die Input Daten bekommt der Thread aus der fOutMessageQueue.
Die fOutMessageQueue wird in der F_MainWindow
unit gefüllt.
fInMessageQueue und fOutMessageQueue basieren auf TThreadQueue.
TThreadQueue ist ein thread-Safe TQueue.
Daten vom und zum comPort werden nun gepuffert
Ich kann nicht versprechen, dass das alles auf Anhieb läuft, dazu sind die Umbauten zu groß.
Grüße
Klaus