For the record:
I verified that with the gtk2 (Linux) Widget type, "PostMessage()" uses
a different Event Queue ("TGTKMessageQueue") than "TThread.Queue()" and
TThread.Synchronize()".
So for this, calling "CheckSynchronize() will not help. You need to use
the appropriate GUI-based Widget type.
Application.QueuAsyncCall() uses yet an additional Event Queue. Here
using a WidgetType is not strictly necessary, but calling
"CheckSynchronize() will not help, either. Here, TApplication provides
"RemoveAsyncCalls()" which in a GUI Bases Widget Type is called in
"Forms". As a non-GUI Project does not have Forms, RemoveAsyncCalls()
needs to be called by a different functionality.
-Michael
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus