I am having an issue with the T-E2. It looks like the DBCache fills up and never flush itself properly and after some time there is no free space in the cache. This is unic to the T-E2, I don't see this on the TX nor the Z22.
I triyed the following code (error checking stripped for readability): memhRecordChunk = DmNewHandle(gdbrDictionaryDbRef,StrLen(strpWord)+1); strpTmpWordRec = (Char *) MemHandleLock(memhRecordChunk); DmWrite(strpTmpWordRec, 0, strpWord, StrLen(strpWord)+1); MemHandleUnlock(memhRecordChunk); uintDictionaryIndex=dmMaxRecordIndex; DmAttachRecord(gdbrDictionaryDbRef, &uintDictionaryIndex, memhRecordChunk, 0); I call this about 10000 time, that uses about 1 Meg of DBCache. I then close the DB and exit my application. Using the MemoryInfo utility, I try to flush some space in the DBCache but none are freed. On the TX and the Z22, all the space used by my database is freed from the DBCache which is ok since all the records are unlocked and written to the NVFS. I tryed an alternative way to create the record but I get the same results: uintDictionaryIndex=dmMaxRecordIndex; memhRecordChunk = DmNewRecord(gdbrDictionaryDbRef,&uintDictionaryIndex,StrLen(strpWord)+1); strpTmpWordRec = (Char *) MemHandleLock(memhRecordChunk); DmWrite(strpTmpWordRec, 0, strpWord, StrLen(strpWord)+1); MemHandleUnlock(memhRecordChunk); DmReleaseRecord(gdbrDictionaryDbRef,uintDictionaryIndex,true); I also tryed to free some DBCache space using the technic described in the "Palm Developer FAQ for Palm OS" using FtrPtrNew but I get the same result: No DBCache is freed on the T-E2 Using the hd 1 commend in PalmDebugger tells me that those records are still locked (again only on the E2) My question is: Is there a way to create records on the E2 that will work properly? Thanks -- Regis St-Gelais www.laubrass.com -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
