Доп.функционал на стандартный обработчик
Модераторы: m0p3e, edward_K, Модераторы
- 
				Maverick
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Доп.функционал на стандартный обработчик
Добрый день.
Интересует вопрос следующего плана.
возможно ли на обработку стандартного события, ДО или ПОСЛЕ выполнения стандартного ф-ла, выполнить свой? т.е. существуют ли сейчас POST и PRE- методы?!
если да, то каким образом?
подскажите )))
или реализация на каком либо событии собственного ф-ла и является по сути post-методом? т.е. выполнение его всегда будет ПОСЛЕ выполнения на данном событии стандартной обработки?
			
			
									
						
										
						Интересует вопрос следующего плана.
возможно ли на обработку стандартного события, ДО или ПОСЛЕ выполнения стандартного ф-ла, выполнить свой? т.е. существуют ли сейчас POST и PRE- методы?!
если да, то каким образом?
подскажите )))
или реализация на каком либо событии собственного ф-ла и является по сути post-методом? т.е. выполнение его всегда будет ПОСЛЕ выполнения на данном событии стандартной обработки?
- 
				Vik
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Доп.функционал на стандартный обработчик
А так не устроит:
1)
2)
?
			
			
									
						
										
						1)
Код: Выделить всё
  ...
cmInit :
{
   <свой код>
   
   if (Inherited :: HandleEvent (cmInit) != heOk)
     Abort;
}
  ...Код: Выделить всё
  ...
cmInit :
{
  
   if (Inherited :: HandleEvent (cmInit) = heOk)
     {
        <свой код>
     }
}
  ...- 
				Vik
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
И еще, к этому : "или реализация на каком либо событии собственного ф-ла и является по сути post-методом? т.е. выполнение его всегда будет ПОСЛЕ выполнения на данном событии стандартной обработки?". Если вы переопределите обработчик какого-либо события и в вашем коде явно не вызовете родительский обработчик этого события, то своим функционалом вы перекроете стандартный, то есть, стандартный функционал вообще не отработает 
			
			
									
						
										
						
Простой пример:
			
			
									
						
										
						Код: Выделить всё
1. Выполнение своего кода до:
cmInit :
{
 MyProcedure;
 Inherited::HandleEvent (cmInit);
}
2. Выполнение своего кода после:
cmInit :
{
 Inherited::HandleEvent (cmInit);
 MyProcedure;
}
2. Выполнение своего кода вместо:
cmInit :
{
 MyProcedure;
}
- 
				timaskraft
- Сообщения: 17
- Зарегистрирован: 21 май 2008, 11:03
- Откуда: Витебск
Подскажите пожалуйста, tableevent можно докомпилировать?
к примеру
			
			
									
						
										
						к примеру
Код: Выделить всё
alter interface KATPARTY
tableevent table katparty
cmCheckRecord:    {
	            if katparty.cmc=0
                    {
					  message('Привяжите  МЦ  к партии или удалите запись!');
					  abort;
					}
                else
					{
                              // ***** как вызвать  стандартный tableevent cmCheckRecord ???
 					}
				  }
 end;
end.
- 
				timaskraft
- Сообщения: 17
- Зарегистрирован: 21 май 2008, 11:03
- Откуда: Витебск


