Страница 2 из 2

Re: По конфигуратору

Добавлено: 31 янв 2011, 13:16
Vik
ну сделайте этот вызов, никто не мешает. И вообще, с этими Inherited - ами как-то запутанно все. Например, если унаследовать интерфейс, то вот такой код, когда в событии выполняем свой код, а потом при помощи Inherited::HandleEvent(cm<событие>) вызывается код родителя, приводит к тому, что родительское событие отрабатывает два раза.

Re: По конфигуратору

Добавлено: 31 янв 2011, 13:23
galover
Т.е. inherited::handleEvent(cmInit) в принципе вызывать не нужно в перекрытом cmInit?

Re: По конфигуратору

Добавлено: 31 янв 2011, 14:07
Vik
В данном случае не нужно, мне кажется. Все-равно сначала отработает родительский cmInit, а уже потом PutCommand.
Я написал простенький пример:
файл Parent.vih

Код: Выделить всё

#ifndef __Parent_vih__
#define __Parent_vih__
#Component "EPA_TEST"
VipInterface Parent_ Licensed(Free);
VipInterface Child_(Parent_) Licensed(Free);
#endif
Файл Parent.vip

Код: Выделить всё

#include Parent.vih
Interface Parent_ 'Родитель' EscClose, DoAccept;
Create view;
HandleEvent
  cmInit :
   {
      Message('Вызов родительского cmInit') ;
   }
end;
End.
Файл Child.vip

Код: Выделить всё

#include Parent.vih
Interface Child_ 'Дитё' EscClose, DoAccept;
HandleEvent
cmInit:
 {
    Message('Вызов cmInit наследника')
 }
end;
End. // Interface
Файл Alter_parent.vip

Код: Выделить всё

alter Interface Parent_
 ''
 ;
HandleEvent
  cmInit :
   {
      Message('Вызов  cmInit (Альтер)') ;
   }
end;
End.
При запуске интерфейса Child_ или альтер-интерфейса сначала получим сообщение "Вызов родительского cmInit'" а уже потом "Вызов cmInit наследника'" или "Вызов cmInit (Альтер)"

Re: По конфигуратору

Добавлено: 31 янв 2011, 14:14
galover
плюсую, спасибо за пример

Re: По конфигуратору

Добавлено: 31 янв 2011, 14:21
Vik
Как-то странно вы плюсанули, у меня не прибавилось, а у вас убавилось. Глюк?)

Re: По конфигуратору

Добавлено: 31 янв 2011, 14:27
galover
Не, не глюк, просто я недавно минусанул, и больше оценки ставить не могу пока. А минус мне поставили в отместку :) Как смогу ставить оценки плюсану уже реально