Hi Bob Thanks for your suggestions.
I tried "attr = 0x00ff & ((attr & 0xfff0) | cat);" but it made no difference (I am using the GCC compiler) I don't have any tools for examining the chunk info, but if I display the record attributes (in category 255 mode), it shows as 64 for a Category 0 record or 65 for a Category 1 record (which sounds ok). Can I obtain/display the chunk ID with a system call? If it's any help, POSE displays the following errors when I try to access the record in the DmQueryNextInCategory loop "App just wrote to 0x00038252 which is in Memory Manager memory" (or words to that effect) then "App just read from memory location 0x00000000 (then 0x000001, then 02 and 03)" followed by "During a regular check POSE determined that the dynamic heap chunk with header address 0x00038252 got corrupted. The size of the chunk was larger than the currently accepted maximum". I guess the second set of messages (location 0x00000000,1,2,3) is probably my display routine trying read from the junk handle. As I said, I really appreciate your input - it's been driving me mad for about 2 weeks now !! Paul Sanders -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/