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/

Reply via email to