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