[Pythonmac-SIG] Re: API_MAC_CARBON
Steven D. Majewski
sdm7g@virginia.edu
Wed, 1 Nov 2000 12:21:38 -0500 (EST)
On Wed, 1 Nov 2000, Jack Jansen wrote:
>
> > I'm not sure what you mean by "non-carbon MacOSX" : carbon is supported
> > for all MacOSX. If you mean the programming model, calls can (and are)
> > mixed -- they are just different libraries (frameworks), [...]
>
> This is not what I understood. There are lots of things that are different,
> for instance, applications that use Carbon will see MacOS filenames
> (colon-separated pathnames, FSSpec records, etc) while applications that use
> the BSD API will see unix pathnames. Mixing these should give disappointing
> results.
>
> Or do I miss something?
I think that's true according to which *Filesystem* APIs you use.
You could have a program which used Carbon APIs for most things,
but used posix APIs for posix-y type things.
Some of the developer example program (the ones to which I was
directed when asking about the new Carbon event model!) use Carbon
API calls mixed with calls to load Interface Builder Nib files --
something I'm pretty sure won't work on OS9 CarbonLib.
( The then call the new Carbon event RunApplicationEventLoop() to
"run" the windows, but I'm not sure what events are automagically
handled -- I tried inserting some new controls with IB, but they
didn't "click" -- but maybe I was missing some other IB step to
activate them. )
"Carbon" seems to be a multi-layered word to Apple.
There's "Targeting to Carbon" -- which means writing to Carbon
and Carbon only so it will run on OSX or OS8|9 + CarbonLib, and
which may also imply a single CFM binary that runs on both, and
there's OSX Carbon Apps, which may be CFM or mach-o, and just
happen to use the Carbon framework/libraries along with other
libs and frameworks.
There's also a lot of other execution environment issues I haven't
quite sorted out: for example there's a difference between command
line posix programs and double-clickable GUI apps: I don't think,
but I don't know for sure, if that will make a problem producing
a command-line python that loads Carbon or Cocoa interface libs.
BTW: I wonder if a carbonized MacPython could dynamically load
GUSI+SIOUX for OS8|9 or the standard posix libraries on OSX ?
( Don't know if that's a path work pursuing -- there's so much
to be done we'll have to choose our battles wisely! )
---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Department of Molecular Physiology and Biological Physics |---
---| University of Virginia Health Sciences Center |---
---| P.O. Box 10011 Charlottesville, VA 22906-0011 |---
"All operating systems want to be unix,
All programming languages want to be lisp."