Here's a better way that has error checking, default processing and takes 
advantage of a unique feature of the PalmOS "StrNCat()" function to prevent 
stack corruption:

When using a functin like this where does the maxLen
value come from when passing the data to this function

Could I also make a change  


Boolean GetFieldData (UInt16 fldNbr, Char *text, UInt16 maxLen) {
FormPtr pForm = FrmGetActiveForm ();
FieldPtr pField = FrmGetObjectPtr (pForm, FrmGetObjectIndex 
(pForm, fldNbr));
if (text != NULL) *text = '\0'; // initialize
if (text == NULL || pField == NULL)
 {
  missing_field = true; 
  return false; // I like error checking !!
 } // use missing_field to set an aleart window and brake the 
   //static Boolean frmMain_saveButton_OnSelect(EventPtr event)
   // so as to not allow the save ??
if (FldGetTextLength (pField))
StrNCat (text, FldGetTextPtr (pField), maxLen);
return true;
}


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

Reply via email to