Palm Programming by Neil Rhodes and Julie McKeehan Following are the changes made in the 12/00 reprint. Here's the key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification {117} You shouldn't draw in a field until the form has been drawn. static FieldPtr SetFieldTextFromHandle(Word fieldID, Handle txtH) has been changed to: static FieldPtr SetFieldTextFromHandle(Word fieldID, Handle txtH, Boolean redraw) and: FldDrawField(fldP); has been changed to: if (redraw) FldDrawField(fldP); {118} Same rationale as the change to p. 117. static FieldPtr SetFieldTextFromStr(Word fieldID, CharPtr strP) has been changed to: static FieldPtr SetFieldTextFromStr(Word fieldID, CharPtr strP, Boolean redraw) and: return SetFieldTextFromHandle(fieldID, txtH) has been changed to: return SetFieldTextFromHandle(fieldID, txtH, redraw) and: static void ClearFieldText(Word fieldID) { SetFieldTextFromHandle(fieldID, NULL); } has been changed to: static void ClearFieldText(Word fieldID, Boolean redraw) { SetFieldTextFromHandle(fieldID, NULL, redraw); } {129} Same rationale. SetFieldTextFromStr(CustomerNameField, (CharPtr) theCustomer.name); SetFieldTextFromStr(CustomerAddressField, (CharPtr) theCustomer.address); SetFieldTextFromStr(CustomerCityField, (CharPtr) theCustomer.city); SetFieldTextFromStr(CustomerPhoneField, (CharPtr) theCustomer.phone); has been changed to: SetFieldTextFromStr(CustomerNameField, (CharPtr) theCustomer.name, true); SetFieldTextFromStr(CustomerAddressField, (CharPtr) theCustomer.address, true); SetFieldTextFromStr(CustomerCityField, (CharPtr) theCustomer.city, true); SetFieldTextFromStr(CustomerPhoneField, (CharPtr) theCustomer.phone, true); {131} Same: SetFieldTextFromStr(ItemQuantityField, quantityString); has been changed to: SetFieldTextFromStr(ItemQuantityField, quantityString, false); {265} Buffer can overflow depending on the LAT/LON. char s[10]; has been changed to: char s[11]; (266) The following comment was wrong: // 5 is E or W for Lat direction, 6 is lon has been changed to: // 6 is E or W for Lon direction, 5 is lon [409] Figure 13-2 had a line from CSynchronizer to CPcMgr. It has been removed as CSynchronizer does not inherit from anything.