In general, changing the compiler settings can be dangerous, whether you do
it from CodeWarriors target settings panels or using pragmas. In this case,
the problem is that the operating system was compiled with enums defined a
certain way, so if you change this, your code won't put the right things on
the stack when passing enums to operating system funtions. This messyness is
inherent in using the C language, where some types, including enums, are not
always defined the same way. That's exactly why we've avoided using types
such an int for arguments to operating system functions. I suppose we should
also avoid using enums for the same reason. Until we do, you have to jump
through some extra hoops if you want to use a different definition for enums
than the operating system. I recommend starting with the starter project,
and avoiding changes to the target settings. Ideally, the tools would warn
you about compiler settings that are incompatible with the operating system,
but until they do, you should be careful.
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html