On 12/23/2013 11:48 PM, Lachlan Gemmell wrote:
> I know you use VCL for the Windows version and CLX for the Linux > version so to support OSX you were always going to have to write a > new GUI at the very least. What platform/framework did you end up > going with?
As Kevin mentioned, we used Free Pascal 2.6 and Lazarus 1.2 with the Carbon backend. We expanded our existing VCL/CLX compatibility layer, so it's still all a single source and a single set of DFMs, with design work and core development all done in Delphi XE.
BC4 is a good demonstration of what's possible with Lazarus, but it did take effort to make it feel as native as it does. We had to add support for sheets and non-modal color/font dialogs ourselves, for example, and the toolbar and statusbar are custom themed. The LCL also copies the VCL's MainForm concept, where there's only one primary window and the application terminates when it's closed. Making it work with 0..n document windows took a bunch of work. We've submitted most of our changes to the Lazarus bug tracker, but all of those enhancements are implemented in a higher level, so we can't easily contribute them back.
I am really impressed with what they've been able to do with limited resources though, and it makes me miss a proper VCL for Cocoa that much more. Free Pascal's Objective Pascal support is really nice too, and makes interfacing with and descending from Cocoa classes quite pleasant.
-- Craig Peterson Scooter Software