You unlock hFrom prematurely, and you do not allocate temp.
try this:
FldSetTextPtr(field, From); // no need to copy
MemHandleUnlock(hFrom); // now unlock handle
> I am obviously overlooking something. Using the code below, I expect
> to see a value in my non-editable field when I press my
> MainConvertButton. However, I do not. What have I missed?
> It seems to me that I am using FldSetTextPtr (see ----> in code
> below) as documented.
>
> Thanks
>
>
> static Boolean MainFormHandleEvent(EventPtr eventP)
> {
> Boolean handled = false;
> FormPtr frmP;
>
> FieldPtr field;
> Handle hFrom;
> CharPtr From;
> CharPtr temp;
>
> frmP = FrmGetActiveForm();
>
>
> switch (eventP->eType)
> {
> case menuEvent:
> return MainFormDoCommand(eventP->data.menu.itemID);
>
> case frmOpenEvent:
> frmP = FrmGetActiveForm();
> MainFormInit( frmP);
> FrmDrawForm ( frmP);
> FrmSetFocus(frmP, FrmGetObjectIndex(frmP, MainConvertFromField));
> handled = true;
> break;
>
> case ctlSelectEvent:
> switch (eventP->data.ctlSelect.controlID)
> {
> case MainConvertButton:
> // Get From field
> field = GetObjectPtr(MainConvertFromField);
> hFrom = FldGetTextHandle(field);
> if (hFrom) {
> From = MemHandleLock(( void *) hFrom);
>
> // Release lock
> MemHandleUnlock((void *) hFrom);
>
> // Set To field
> field=
> FrmGetObjectPtr(frmP,FrmGetObjectIndex(frmP,MainConvertToField));
> StrCopy(temp,From);
> ----> FldSetTextPtr (field, temp);
> FldDrawField (field);
> } // END OF if (hFrom)
>
> handled = true;
> break;
> } // END OF switch (eventP->data.ctlSelect.controlID)
>
> default:
> break;
>
> } // END OF switch (eventP->eType)
>
> return handled;
> }
>
>
>
>
> --
> For information on using the Palm Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/tech/support/forums/
>
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/