\r
 uses\r
   classes,\r
-  {$ifdef win32}\r
+  {$ifdef mswindows}\r
     windows,messages,wmessages,\r
   {$else}\r
-    lmessages,\r
+    lcoremessages,\r
     {$macro on}\r
-    {$define windows := lmessages}\r
+    {$define windows := lcoremessages}\r
   {$endif}\r
   sysutils,\r
   pgtypes;\r
     function killtimer(id:taddrint):boolean;\r
     procedure postmessage(msg,wparam,lparam:taddrint);\r
     procedure messageloop;\r
-    {$ifdef win32}\r
+    {$ifdef mswindows}\r
       procedure processmessages; virtual;\r
       function processmessage:boolean;\r
     {$endif}  \r
     '', dwstyle, CW_USEDEFAULT, CW_USEDEFAULT,100, 100, hwnd(0), 0, HInstance, nil);\r
   //swriteln('about to check result of createwindowex');\r
   if hWndMain = hwnd(0) then raise exception.create('CreateWindowEx failed');\r
-  //swriteln('about to store reference to self in extra windo memory');\r
+  //swriteln('about to store reference to self in extra window memory');\r
   setwindowlongptr(hwndmain,0,taddrint(self));\r
   //swriteln('finished twindowobject.create , hwndmain='+inttohex(taddrint(hwndmain),16));\r
 end;\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 mswindows}\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