What does the compiler do when translating "procedure ... message" ? I need to know this as I want to create a non-GUI workalike of the TApplication class that can do things like "TTimer" "TThread.Synchronize", Message events, etc, using Windows messages in Windows (for testing purpose) and system V message queues in Linux. -Michael