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?

Reply via email to