opensubscriber
   Find in this group all groups
 
Unknown more information…

e : emulator-forum@palm.lyris.net 26 April 2005 • 7:42PM -0400

Fatal Alert on Emulator with Palm OS 4
by Anamika NG

REPLY TO AUTHOR
 
REPLY TO GROUP




Hi All,

My application has a form with several field objects in it. I have limited the no. of chars to be
entered for each field to 5 chars.User enters some data
in the field and when he navigates to form "B", all the user input data are stored in a structure variable.
When he returns to this Form 'A', I read the saved data and display them back to the user.

I am testing my PDA application on Emulator with Palm OS 4.1.2. While running the Gremlins , it crashes saying
"XYZ application called sysFatalAlert with the message : Field.c , Line 264, Invalid word wrapping info".

If I press the continue button when the crash happens, it says
"XYZ application called sysFatalAlert with the message : Field.c, Line 195, Text block size small than text."

If I again press the continue button, it complains saying
"XYZ application just read from memory location 0xBD700001, causing a bus error. A bus error.......":

When I look at the stack window, I noticed that the last 4 events at the time of crashing are
"LinkToolFormHandleEvent,
FldGetTextPtr,
FldGetTextPtr,
ValidateField"

Unforunately I don't know the assembly code to debug in detail.
Does anybody know what does these error means and how to debug this problem.

I have enclosed part of my code just incase somebody is interested.

static FieldPtr fld1 =  NULL; //global variable

void LinkInputParaForm1Init() {
   static UInt8 linkToolDataCleared_u8 = 0;
   MemHandle txtH[13], oldHandle;
   Err err, errFreeMem;
    
    //Pointer to Form.
FormPtr frmP;
UInt16      butID;  
char*       p = NULL;

frmP = FrmGetActiveForm();

// Draw the LinkTool Input form.
FrmDrawForm(frmP);

//First time, the user has launched the link tool. Reset all the concerned variables.

if(linkToolDataCleared_u8 == 0 ) {
   //reset all the variables in the link tool data structure.
   MemSet((void*)&LinkToolInputData_st, sizeof(LinkToolInputData_st), 0);

   MemSet((void*)&lat1_st, sizeof(lat1_st), 0);
   MemSet((void*)&lon1_st, sizeof(lon1_st), 0);
   MemSet((void*)&lat2_st, sizeof(lat2_st), 0);
   MemSet((void*)&lon2_st, sizeof(lon2_st), 0);
       LinkToolInputData_st.units_arr_10[0] = NULL;
       LinkToolInputData_st.distMethod_arr_30[0] = NULL;
       MemSet(dataEntered_u8, sizeof(dataEntered_u8), 0);
      
       //set this flag so that you dont reset the variables every time this page is opened up.
       linkToolDataCleared_u8  = 1;

}

//If the user has made the selection, display the selected values  on the screen.

if((LinkToolInputData_st.dstMethod_e == Direct) && fld1) {

         txtH[0] = MemHandleNew(sizeof(LinkToolInputData_st.siteSep_arr_15) + 5);

//If successful in getting handle to the new chunk, proceed.
if(txtH[0]) {
         p = (char *)MemHandleLock(txtH[0]);
        
         if(p) {
         StrCopy(p, LinkToolInputData_st.siteSep_arr_15);  // you'd copy from saved data, presumably
      
         err = MemHandleUnlock(txtH[0]);
         ErrFatalDisplayIf(err, "Could not Unlock Chunk.");
         }//end if
        
     fld1 = (FieldType *)FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, LinkToolInputPara1SiteSepField));
       oldHandle = FldGetTextHandle(fld1);
   //     ErrFatalDisplayIf(!oldHandle, "Couldn't get Text Handle");
        
              FldSetTextHandle(fld1, txtH[0]);
              FldDrawField (fld1);    //draws the contents of the field.

              if (oldHandle) {
           errFreeMem = MemHandleFree(oldHandle); // or do something else with it first
           ErrFatalDisplayIf(errFreeMem, "Could not Free Handle.");
              }//end if
        
           } //end if
     }
    

Thanks in advance for any help.

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

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

opensubscriber is not affiliated with the authors of this message nor responsible for its content.