Re: Porting MFC to Mac OS X and Linux

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Mike Engelhardt (nospam_at_spam.org)
Date: 06/14/04


Date: Mon, 14 Jun 2004 16:17:55 GMT

Johan,

> For Mac OS X, you rewrite it from scratch. If you have a client
> with a large budget, you can start to plan what to do with all
> the money you will be able to charge.
>
> Some things are so different in Mac OS X (file handling comes to
> mind) that you might even have to redesign the application. Other
> stuff it not at all supported, or you'll have to use completely
> different mechanisms (COM, DDE, the registry).

Thanks for the input. My application is about 100K lines of GUI
and 500K lines of application implementation. I'm not too worried
about the application implementation which does a good job of
avoiding OS specific approaches. Except for the thread handshaking
which can always be replaced with volatile globals and polling, its
is all generic FILE * operations(except for being able to seek
within a file with a VC++ __int64 type).

> I worked for two years with a proprietary (non-MFC, of course)
> C++ framework for both Windows and Mac, and let me assure you,
> it is a major undertaking to port code between the two.

Which C++ framework for both Windows and Mac was that? So far I've
found Qt, and yes, it a rewrite coming from MFC, plus it has a
number of disappointing limitations like no multi-line tab
controls for property sheets or check box buttons with the text
to the right of the box(so that it lines up with CLabel/CEdit
pairs for inputs that isn't just yes/no and so it feels more like
checking an item on a paper list. I've never understood why
check boxes on computers have the box almost universally on the
wrong side.) So did you use Qt or is there an alternative? I
need to know if Qt is my only option here. Were you happy with
the "proprietary C++ framework"? I'm not going with Mainsoft
as has been kindly suggested by Ajay Kalra(thank you!). I have
used that many years ago and just I spoke with the Mainsoft people
last week. That won't work for me in this case because (i) it
doesn't run on a Mac and (ii) it's licensing model is completely
incompatible with my business model.

--Mike


Quantcast