[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."