ClearEvent әдісі-оқиғаны тазарту.
ClearEvent event.What өрісіне evNothing мәнін меншіктей отырып оқиғаны тазартады.
Оқиғаны өңдеудің негізгі циклы (Execute әдісі)
Оқиғаны өңдеудің негізгі циклы «қолданбалы программа» негізгі объект-тобының Execute әдісінде келесі схема бойынша жүзеге асырылады:
int TMyApp::Execute()
{do{endState=0;
GetEvent(event); //оқиғаны алу
HandleEvent(event); //оқиғаны өңдеу
if(event.what!=evNothing) //оқиға өңделмей қалды
EventError(event);
}
while(!Valid());
return endState;
}
HandleEvent әдісі EndExec әдісін шақыра отырып «жұмыстың соңы» оқиғасын өңдейді. EndExec EndState айнымалысының private мәнін өзгертеді. Бұл айнымалының мәнін Valid әдіс-функциясы тексереді, егер «жұмыстың соңы» болса, онда true мәнін қайтарады. Мұндай бірнеше күрделі жұмысты аяқтау әдісі белсенді күйде топтың бірнеше элементтері бола алатындығымен байланысты. Онда топтың Valid әдісі өзінің ішкі элементтерінің Valid әдістерін шақыра отырып, олардың барлығы true қайтарса, true қайтарады. Бұл программа оның барлық элементтері жұмысын аяқтағанда, ол да жұмысын аяқтайтынына кепілдік береді.
Егер оқиға өңделмей қалса, онда қарапайым жағдайда жай хабарлама беретін EventError әдісі шақырылады.
Достарыңызбен бөлісу: |