Some error occur when I call DmGetRecord() func. the source like this:

static void ModifyRecord( UInt objIndex, UInt idx )
{
        UnknownRec rec, *pRec;
        UInt pos;
        VoidHand hRec;
        Int16 selected;
        
        rec.index = idx;
        rec.secs = TimGetSeconds ();
        selected = GetInfo( objIndex );
        pos = DmFindSortPosition( UnknownDB, &rec, 0, (DmComparF *) CompareRecFunc, 0 
);
        hRec = DmGetRecord( UnknownDB, pos - 1 );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~error!
        pRec = MemHandleLock( hRec );
        if ( pRec->index == idx ) {
                if ( selected ) {
                        rec.times = 3;
                } else {
                        rec.times--;
                }
                DmWrite( pRec, 0, &rec, sizeof(rec) );
        } else {
                if ( selected ) {
                        addUnknown( idx );
                }
        }
        MemHandleUnlock( hRec );
        DmReleaseRecord( UnknownDB, pos - 1, true );
}

When DmGetRecord() was called, pos = 2 & UnknownDB had been opened.
Do someone can tell me why? Thanks!


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to