BTW.: I have done a seemingly working platform independent draft of an "active no-GUI Application" for Lazarus that allows to create "Applications" with TTimer and TThread.Synchronize() / TThread.Queue() without needing to link to a GUI for thinks that otherwise might suggest the use of Signals or Messages. -Michael