Hi all,
Help me please!

I have function keyDownEvent :
                case keyDownEvent:
                        // Scroll down key presed?
                        if (gCurrentActPk>-1){
                                if ((eventP->data.keyDown.chr == pageDownChr) && 
(IsLast == true))
                                {
                                        ScrollActRecord(1);//mode=0 : Previous; mode=1 
: Next
                                        handled = true;
                                }
                                // Scroll up key presed?
                                else if ((eventP->data.keyDown.chr == pageUpChr) && 
(IsFirst == true))
                                {
                                        ScrollActRecord(0);//mode=0 : Previous; mode=1 
: Next
                                        handled = true;
                                }
                                handled = true;
                                break;
                        }
                        break;
With :
Boolean ScrollActRecord(int mode)//mode=0 : Previous; mode=1 : Next
{
        VoidHand        recordH;
        Err                     err;
        Boolean         find=false;
        ActRecordPtr cons;
        ActRecPtr conRec;

                                        DataOfA2Changed();
                                        if (changeField ){
                                                A2AskSave();
                                                gEditMode = false;
                                                changeField = false;
                                        }

                                        cons = (ActRecordPtr)MemHandleLock(ActsHandle);
                                        for (int i=0; i<NumActs;i++){
                                                if (gCurrentIndex == 
cons[i].recordNum){
                                                        if (mode == 0)
                                                                gCurrentIndex = 
cons[--i].recordNum;
                                                        else if (mode == 1)
                                                                gCurrentIndex = 
cons[++i].recordNum;
                                                        checkNextPrevious(i);
                                                        find=true;
                                                }
                                                if (find == true)       break;
                                        }
                                        MemHandleUnlock(ActsHandle);
                                        find = false;

                                        if ((err = GetRecord(ActDB, gCurrentIndex, 
&recordH)) != 0)
                                        return false;
                                        conRec = (ActRecPtr)MemHandleLock(recordH);
                                        if (conRec) gCurrentActPk = conRec->act_pk;
                                        MemHandleUnlock(recordH);
                                        FrmGotoForm(A2Form);
        return true;
}

I want to go ONE record when user click pageDownChr or pageUpChr button. But it go 
through over one, sometimes 2 or 3 record.
I use POSE with ROM : Palm OS 3.5-en-colordbg.rom.If I use others ROM, it work right.
Any idea? help me
Thanks,
Duc


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

Reply via email to