Sorry about that, I just fixed it. I spent hours on it, but didn't fix it until right after I posted a message to an entire newsgroup... With the "Why isn't array(0) working with 'Arrays without element zero' option on?", that makes two bogus posts. Oh well, I'll make some good out of it. Heres the revised source which works, for anyone interested in edit field text manipulation: I'm not sure why, but I didn't have to lock down the handle for FN saveDay. LOCAL FN saveDay DIM editFieldHandle&, pointer& DIM char%, length%, saveState%, osErr%, count 'Set the long string ID in order to write to it gLongStringID = gDate 'Get the edit field handle, and some info from it editFieldHandle& = TEHANDLE(2) length% = editFieldHandle&..teLength% pointer& = PEEK LONG(editFieldHandle&..teTextH&) FOR count = 0 TO (length%-1) char% = PEEK(pointer&+count) FN putChar(char%) NEXT END FN CLEAR LOCAL LOCAL FN readDay DIM theHoriz, theVert DIM longStringSize, saveState%, osErr%, pointer& DIM char%, temp$ <snip> gLongStringID = gDate 'Save the handle state, then lock it saveState% = FN HGETSTATE(gStringH&(gLongStringID)) osErr% = FN HLOCK(gStringH&(gLongStringID)) 'Get a pointer to the locked-down handle pointer& = PEEK LONG( gStringH&(gLongStringID) ) 'Get the long string size longStringSize = PEEK WORD (pointer&) INC(longStringSize) 'Read the long string into the edit field EDIT$(2) = "" FN appendWithHandle(pointer&+2,longStringSize,2) 'EDIT$(2) = STR$(longStringSize) 'Return the state of the handle osErr% = FN HSETSTATE(gStringH&(gLongStringID),saveState%) END FN >I'm now trying to do some stuff with a calender. There are 31 dates, each >of which have their own pointer to a block of long string data. When the >user clicks a date, the program simply displays the string. > >I have a function to read edit field data into a long string, and to >insert a long string into an edit field. I took Tedd's Long Strings and >added a (gLongStringID) to all global variables. I made a test program to >ensure that this works, and it did. I simply set the gLongStringID >variable before I call a long string function. > >This program gives me a Type 1 Error when I run it. The error goes away >when I REM out this line: >current& = [textHandle&] + count + 2 > >Any help is appreciated.