Palm OS is tightening down access to internal structures, as evidenced by
the increased error checking in POSE. That's a good thing, and I wish it
had been done earlier.
However, for this "isolated data" concept to work properly, we have to be
provided routines that perform the same functions as our structure sensitive
routines did for us.
For example ...
LstSetListChoices stores the address of a vector table into the List
structure. There is no LstGetListChoices to retrieve that vector table
address at a later time (like, when I want to free the allocated storage).
I used to get the address from lstP->itemsText, but now that POSE is
sensitive to direct access to the List structure, it gives me a nice warning
message. So, I have to track that particular chunk of memory myself, which
shouldn't be necessary because the address is already stored in another
location (the List structure). Or, I can turn off the POSE option and
thereby miss the added protection that POSE is providing me to warn of
illegal accesses.
If we're going to be restricted in what we can access, at least provide us a
legal method to retrieve what we put there through legal methods.
Another example is the frmPopupObj structure. I can't find any routines
that provide access to the information in that. So, unless I access it
directly, the only way I can dynamically determine which list is associated
with which popup is to have my own set of tables that are either statically
or dynamically built. Yet another duplication of information.
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/