I'm still figuring out Lazarus and pretty sure I will eventually port three applications from REALbasic. I'm slowing migrating one now on OS X, but will need to figure out Windows as well if I am to do all three. Your article is helpful, and I'm trying to build in conditional compiles as I go. Maybe I will need multiple forms as well.
You could probably go the other way as well (Mac form --> Windows form) if you want. The DfmToLfm converter only does 3 things currently to forms (presumably from Windows) if the -m and -s switches are used:
- Reduces button Height.
- Sets TabStop = False for controls that can't receive keyboard focus.
- Substitutes Mac fonts.
Going the other way should be possible too:
- Set TabStop = True
- Substitute Windows fonts (Lucida Grande is not a normal Windows font).
That way you could do all design changes on Mac and just auto-convert forms to Windows.
I don't see any alternative to having many IFDEF's in your code. There are too many things that have to be worked around to get a true Mac-like look and feel, so that the app doesn't look ridiculous to Mac users.
Thanks.
-Phil