In SDK 3.5 the trap numbers for core traps are defined in an enum called
SysTrapNumber and Intl Mgr functions by an enum called IntlSelector. (At
least for CodeWarrior users; more on that below.) These enums are handy
because my C++ code overloads a certain constructor function on those two
enum types. In fact this usage is documented in my PalmSource 99 slides at:
http://www.palmos.com/dev/news/events/palmsource/1999/data/track3/320_new.pd
f
But now in SDK 4.0 DR2, both those enums have been changed to a pile of
individual #define macros. And actually in 3.5, they were already
separately defined as macros for the GCC compiler. (Why? Paging Dr.
Marshall! Does GCC not do enums properly in this case?)
Anyway, this breaks my nice clean code that relied on SysTrapNumber and
IntlSelector being distinct and overloadable types. Now SysTrapNumber is
gone and IntlSelector is just a typedef for UInt16. I'm sure there's a good
reason for the change, but I'd like to learn just what it is. I'm guessing
it's just to simplify to a single definition, accommodating GCC's apparent
problem with these being enums.
-slj-
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/