Actually, this problem is cause by incorrect memory use,
such as lock Pointer or Handle and then forgot to release or release incorrect!
As what's your sample code, you lock a handle but unlock pointer,
I think this may cause what's your problem!
Try to use MemHandleUnlock(p) instead of MemPtrUnlock(p)
I had met such problem!
SPERec = DmNewRecord(SPEDB, &index, newMemoSize);
p = MemHandleLock(SPERec);
pField = GetObjectPtr( MainNomeField );
error = DmWrite(p, 0, &ch, 0);
ErrFatalDisplayIf(error, "Nao pode criar um novo.");
MemPtrUnlock(p);
FreeFieldHandle(MainNomeField);
And the expression of retrieve is:
if ( (CurrentRecord<DmNumRecords(SPEDB)) && (DmNumRecords(SPEDB)) > 0)
{ SPERec = DmGetRecord(SPEDB, CurrentRecord);
pField = GetObjectPtr( MainNomeField );
FldSetTextHandle(pField, SPERec);
FldRecalculateField( pField, true );
FldDrawField( pField );
CurrentRecord++; }
Gil
WMW Informatica Ltda.
SC - Brazil
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/
h�)ߢ���*'�{��x-��ږ`�h��Ţ�������칻�&ަW���zm����
Z�j,r��u����!�˩�����+�k?