title: Can you receive Events in a secondary thread in Delphi XE?
body: <p>I would like to have three threads in a sample application.<br>
  Thread #1 (Main Thread) - User Interface/GUI<br>
  Thread #2 - Tied to a serial port device receiving data via events passing to a data queue.<br>
  Thread #3 - Activated when a queue entry is made, process data node, frees data object.<br></p>
  
  <p>The goal is to<br>
  a) Prevent the loss of data when a button or the form is held by the mouse on the main form.<br>
  b) Quickly get the data from the event, stuff it in the queue, go back to sleep<br>
  c) Process data when we have it, otherwise sleep.<br></p>
  
  <p>Can packages like AsyncoPro tie event handling to a non-main thread?</p>
  
  <p>I've never done much with serial port event driven apps, most of what I've work with are polled and I want to do some testing.</p>