I very much appreciate the comments by Martin S. Tignor concerning
DXLink use of X and sockets.  Martin writes:
You do not have to be concerned about the transmission
of additional information from your app to dx causing a crash
or loss of coherence.

I do need to worry about coherence, but nonetheless, I understand
what Martin intends to say, that DXL commands put themselves nicely
in a queue.  In my case, I open five tcp/ip sockets and it takes
awhile for the connection to be established.  If the socket is not
stable and a part of a message is dropped (my message format about
fields) then the Qt driver and the DX application have different
ideas about where they are in ready the incoming information.  I
put check sums on messages and everything starts fresh if things
do not "add up".  In any case, the combined application definitely
crashes.  I am still working on the problem.  For example,
I intend to use DXLGetExecutionStatus() rather than DXLSync()
with a Qt timer so that the main loop is blocked.

I may be completely wrong but I have a feeling that maybe some
calls to DXL should be in the main loop, but I am now moving
towards a more event-oriented procedure for using DXL with
DXL calls divided into small groups that gives Qt time to process
events (I hope).  I still have more work to do.

I very much appreciate having received a reply to my inquiries.
best regards,
Alan Scheinine

Reply via email to