Расширение обработчиков событий |
Расширение обработчиков происходит автоматически, когда в интерфейсе-потомке описывается обработчик события, обрабатываемого в родительском интерфейсе. Для вызова обработчика события интерфейса-предка используется конструкция:
<вызов-обработчика-события-интерфейса-предка> = inherited::handleEvent [ ( <событие> ) ] : byte;
Возвращаемое значение зависит от результата обработки указанного события родительским интерфейсом:
heAbort - в родительском обработчике выполнился Abort;
heStop - в родительском обработчике выполнился Stop;
heOk - нормальное завершение обработки события родителем, либо отсутствие обработчика этого события в родительском интерфейсе.
vipInterface base; interface base; ... handleEvent cmInit: { ... if ( something (bad) ) Abort; ... } ... end; end. vipInterface child (base); interface child; ... handleEvent cmInit: { ... if (inherited::handleEvent (cmInit) = heAbort ) Abort; ... } ... end; end.
Атлантис 5.0.