unit Unit2;
interfaceuses System.Classes, Windows, Messages;const WM_DO = WM_USER + 1;type TDemoThread = class(TThread) private { Private declarations } protected procedure Execute; override; end;implementation{ TDemoThread }procedure TDemoThread.Execute;var Msg: TMsg;begin { Place thread code here } while GetMessage(Msg, 0, 0, 0) do begin case Msg.message of WM_DO: ; // do it WM_CLOSE: Break; end; Sleep(100); end;end;