Can you post some example code that demonstrates this?


class Field
{
 private:
   VoidHand fldHandle;
   VoidPtr  dataPtr;
   FormPtr  frmPtr;                    // buy the time I get to the SetText
function both the frmPtr and
   FieldPtr fldPtr;                        //  fldPtr are no longer valid?!?

   ULong  size;
   Word  ObjIndex;

 public:
   void SetText(CharPtr);
   Field(FormPtr, Word);


};

Field::Field(FormPtr frmP, Word ID)
{
 frmPtr = frmP;
 ObjIndex = FrmGetObjectIndex(frmPtr,ID);
 fldPtr = (FieldPtr)FrmGetObjectPtr(frmPtr,ObjIndex);

}

void Field::SetText(CharPtr fData)
{

 if (FldGetTextPtr(fldPtr))
 FldFreeMemory(fldPtr);

 size = StrLen(fData) + 1;

 fldHandle = MemHandleNew(size);
 dataPtr = MemHandleLock(fldHandle);

 StrCopy((CharPtr) dataPtr, fData);
 MemHandleUnlock(fldHandle);
 FldSetTextHandle(fldPtr, (Handle) fldHandle);
}


In this example I am having trouble with the frmPtr and fldPtr varialbles
staying valid.
Please help me if you can,

Kristopher Keller

Reply via email to