Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Динамический модуль обработчика для "Перехватчика" - возможно? (число прочтений - 1493 )
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Динамический модуль обработчика для "Перехватчика" - возможно?
25. Июня 2009 :: 13:59
Печать  
Например есть обработчик:

Код
Выбрать все
Процедура ПриЗакрытии() Экспорт
// текст обработчика события
КонецПроцедуры 



Необходимо взять исходный код процедуры "ПриЗакрытии()", в обработчике добавить/изменить несколько строк, и затем выполнить этот код вместо исходного в родительском контексте.

Какие именно строки добавляются/изменяются - варьируется
для каждого конкретного вызова обработчика (динамически).

Взять исходный код процедуры не проблема, изменить его тоже не проблема, проблема в том как его выполнить вместо исходного.

Поможете, господа?
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Динамический модуль обработчика для "Перехватчика" - возможно?
Ответ #1 - 26. Июня 2009 :: 06:07
Печать  
Как-то так?

Код
Выбрать все
Процедура ПриЗакрытии() Экспорт
    ИсходныйКодПрочитатьИсправитьВыполнить( "ПриЗакрытии", ПерехваченныйКонтекст );
КонецПроцедуры 



Осталось реализовать "ИсходныйКодПрочитатьИсправитьВыполнить" и всё! Улыбка
  
Наверх
ICQ  
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Динамический модуль обработчика для "Перехватчика" - возможно?
Ответ #2 - 26. Июня 2009 :: 06:24
Печать  
Достаточно даже так:

Код
Выбрать все
ТекстМодуля="Сообщить(""Получилось!"");";
ИсходныйКодВыполнитьИсправленный(ТекстМодуля, ПерехваченныйКонтекст); 



Я вот не помню, в событии "ПередОткрытием()" можно перехватить модуль и подсунуть вместо него свой?
P.S. Нет, этот вариант отпадает - ПриЗагрузкеМодуляФормы() только модули форм отрабатывает.  Печаль
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Динамический модуль обработчика для "Перехватчика" - возможно?
Ответ #3 - 29. Июня 2009 :: 12:02
Печать  
(0) В перехватчике и делай... т.е делай вызов своей процы в перехваченном ПриЗакрытии ... и всё.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамический модуль обработчика для "Перехватчика" - возможно?
Ответ #4 - 20. Июля 2009 :: 13:44
Печать  
Если код сильно варьируется, то проще всего генерить класс на лету и подменять обработчик перехвата - т.е. удаляем старый обработчик и добавляем новый обработчик.
Я даже выкладывал вроде бы в репозитарий код с созданием классов-обработчиков перехвата на лету.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать