Subject: field.c, Line:6001, FldSetText - text longer than maxChars
From: "Tony Janke" <[EMAIL PROTECTED]>
Date: Fri, 05 Nov 2004 09:15:43 -0700

I get this error "field.c, Line:6001, FldSetText - text longer than
maxChars" ONLY when trying to read a number larger than 255 (8-bit).
The variable I store the data in is 16 bit Int (data).

the error occurs on line:       FldSetTextHandle(FieldPtr, h);

Code:
///////////////////////////////////////////////////////////////////////////////////////////////////////////
               UInt16                                      data,
controlID;
        FormType*               pForm;
        FieldType*              FieldPtr;
        MemHandle               h, oldHandle;
        char*                   p;

pForm = FrmGetActiveForm();
h = MemHandleNew(50); // allocate chunk of memory in heap
p = MemHandleLock(h); // prevent the chunk from moving(lock)


        //   and obtain pointer to location
        StrIToA(p, data);
        MemHandleResize(h, StrLen(p)+1);
        MemHandleUnlock(h);

Try this code instead: Err DisplayFormField (FieldPtr pField, Char *p, Boolean showField) { if (pField == NULL || p == NULL) return memErrInvalidParam; UInt32 newSize = StrLen (p) + 1; Err err = errNone; MemHandle memH = FldGetTextHandle ( pField ); if( memH == NULL) memH = MemHandleNew ( newSize); else { // need to ensure memory chunk is big enough... FldSetTextHandle (pField, NULL); if( MemHandleSize ( hFieldText ) < newSize) err = MemHandleResize (memH, newSize); if (err != errNone) { // Can't resize field ... MemHandleFree (memH); memH = NULL; } } Char * pText = (memH == NULL ? NULL : (Char *) MemHandleLock( memH)); if (pText != NULL) { // handle is valid and locked StrCopy( pText, p); MemHandleUnlock ( memH); FldSetTextHandle ( pField, memH); if (showField) FldDrawField ( pField ); } else if (!err) err = memErrNotEnoughSpace; return err; }



Roger Stringer
Marietta Systems, Inc. (www.rf-tp.com)


-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/

Reply via email to