On Monday 02 May 2016 14:33:34 Krzysztof wrote:
> Hi Martin,
>
> What is MSEgui message system? Can't find PostMessage for example for
> close window itself:
>
> PostMessage(Self.Handle, LM_CLOSEQUERY, 0, 0);
>
MSEgui does not use messages often, there are dedicated virtual functions and 
procedures instead. What do you want to achieve?

> I'll also need alternative for LCL Application.QueueAsyncCall
>
Messages in MSEgui are based on TMSEevent (lib/common/kernel/mseevent.pas). 
There is TApplication.PostEvent() in order to feed events into the main even 
queue.
For convenience there are also the TMSEComponent procedures AsyncEvent() and 
PostComponentEvent(). TForm has the published properties OnAsyncEvent and 
OnEvent where the received events can be processed.
In order to simulate QueueAsyncCall post a TExecuteEvent descendant to the 
main event queue by Application.PostEvent. I'll probably add a 
QueueAsyncCall() procedure for convenience.
In order to access GUI elements from a thread I normally use
"
 try
  application.lock();
  //access gui elements
  ...
 finally
  application.unlock();
 end;
"
Buttons and menuitems have the option bo_asyncexecute respective 
mao_asyncexecute in order to do process the action after returning to main 
event loop.

Martin

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to