{$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
     '', 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