>Can someone help me out with this one? > >I've created a true record which works fine. >The field gFn.fnTitle$(1 - n) is loaded with different lines of text. >The other fields are not currently assigned any value: > > begin record fnRec > dim as str255 fnTitle$ > dim as int fnLocation > dim as int fnCall[_maxInt] > end record > dim gFn(_maxInt) as fnRec > > >but, if I dim the last field (fnCall) as boolean, all the elements of >gFn.fnTitle$(1 - n) end up with the same text, (the last line of text >stored): > > begin record fnRec > dim as str255 fnTitle$ > dim as int fnLocation > dim as boolean fnCall[_maxInt] > end record > dim gFn(_maxInt) as fnRec > Bernie, I'm not sure what is happening with your record, but do you really want each record to occupy 33025 bytes (or 69792 if fnCall stays as INT)? May I suggest an alternative? Instead of putting an array in your record, store a handle instead. Or an index to a dynamic array to hold your fnCall Booleans. If you really plan to use that much data, is it truly Boolean? If so, you could use bits rather than bytes in the handle and have a much smaller (and probably faster) process. I'm sort of shooting in the dark, as I don't know how this fits in your code, but I always get nervous when I see humongous arrays within records. I know this doesn't answer your question--I suspect some problem with allocating records at odd addresses or more than 32k per record--but I wanted to mention the alternatives. @"@ =J= a y "