At 9:04 AM -0700 10/14/99, Scott Johnson wrote:
>David Fedor wrote:
>> I'll have some new information to give you next week that I can't
>> give right now, though I'd like to, as it answers this question
>> better.
>
>You mean there is a serious answer for VoidHand -vs- Handle?  I always
>thought it was something silly, like they were originally implemented by
>two different people who kept their office doors closed, or something
>like that.

Well, I'll let the cat out of the bag (a little.)

Palm OS memory manager handles are *not* void**'s.  That is, they are not
pointers to pointers, and if you try to use them that way, you'll get in
trouble.  Read the memory manager whitepaper on the devzone site for more
details.

So, we're fixing this by creating a new type that accurately represents a
memory manager handle, and can pretty much only be used with the Mem* or
Dm* routines.  That lets people clean up a lot of dangerous code, because
the compiler will help you.  And of course the APIs have all been fixed to
require the appropriate types.

Memory manager pointers are just void*'s, and making the compiler know that
also solves a lot of problems.  (Allows you to go and fix the code.)

So as to not entirely step on David's point, I'll say that you'll learn
about a LOT more pleasant changes like this at (and after) PalmSource.

                                --Bob


Reply via email to