Hello,
I am porting the Virtual Magnifying Glass (
http://magnifier.sourceforge.net/ ) to Windows CE - LCL, and I thought posting what I learn doing it here might help others porting LCL software to WinCE-LCL.
To start with, the free pascal version that really worked for me was the snapshot from CCRDude. It can be downloaded here:
http://www.see-cure.de/files/lazarus-arm-wince-20060707.7zI am using it together with the Emulator from Microsoft before I acctually try on a real device.
The first thing to do was rework all my conditional defines, and change them from IFDEF Win32 to the more platform-independent IFDEF Windows
Some code remained with IFDEF Win32 because either I don´t need it on Pocket PC, or because it uses ShellAPI, which is not available on WinCE.
I created my own batch files to do tasks like, compile the software and copy it to the emulator shared folder. Or call GDB via active sync.
A big problem at the moment is that $R resource directive doesn´t work on Windows CE, so I think I will need to put my pictures on the same directory as my executable on WinCE.
I alse needed to search on MSDN for all Windows API functions I use directly to make sure my app will run on many Windows CE version. A good way to search msdn for WinCE api is by googling this:
site:msdn.microsoft.com "Windows CE" <FunctionName>
So far everything is great. Keyboard events work completely across all target platforms with LCL, I can create TBitmap images and manipulate them, detect the Windows CE version, detect the Screen Size.
In about 3 hours I made an application completely unprepared for windows ce to run. It´s not fully working, but the port is going well.
Later I will post more info.