const\r
   WS_EX_TOOLWINDOW = $80;\r
   WS_POPUP = longint($80000000);\r
+  CW_USEDEFAULT=$80000000;\r
   hinstance=nil;\r
   PM_REMOVE = 1;\r
   WM_USER = 1024;\r
 
   windows.postmessage(hwndmain,msg,wparam,lparam);\r
 end;\r
 \r
+{$ifdef mswindows}\r
 function twindowobjectbase.ProcessMessage : Boolean;\r
 var\r
     MsgRec : TMsg;\r
 begin\r
   while processmessage do;\r
 end;\r
+{$endif}\r
 \r
 procedure twindowobjectbase.messageloop;\r
 var\r
   MsgRec : TMsg;\r
 begin\r
   while GetMessage(MsgRec, hwnd(0), 0, 0) do begin\r
+    {$ifdef mswindowss}\r
     TranslateMessage(MsgRec);\r
+    {$endif}\r
     DispatchMessage(MsgRec);\r
     if exitloopflag then exit;\r
     {if not peekmessage(msgrec,0,0,0,PM_NOREMOVE) then onidle}\r