Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Перехватчик.ПерехватитьСобытияГлобальногоМодуля .. (число прочтений - 5943 )
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Перехватчик.ПерехватитьСобытияГлобальногоМодуля ..
12. Ноября 2007 :: 09:08
Печать  
Есть ОКОП, который назначил себя на ПерехватитьСобытияГлобальногоМодуля, возникающие события он вполне обрабатывает, кроме событий ЖурналаРегистрации и НеобработаннаяОшибка. Эти события перехватываются только в ГлобальномМодуле. Неужели нужно прицеплять Доп.глобальник?

Включаю перехват так:
Код
Выбрать все
//*КОП::МойПерехватчикГМ
Процедура ВключитьПерехватСобытий() экспорт

	Настройки = СоздатьОбъект( "УправлениеНастройками" );
	Настройки.Включить( "ПерехватитьСобытияГК" );

	СистемныйПерехватчик = СоздатьОбъект( "Перехватчик" );

	СистемныйПерехватчик.ПодключитьСобытие_НеобработаннаяОшибка();
	СистемныйПерехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации();
	страции();

	СистемныйПерехватчик.ПерехватитьСобытияГлобальногоМодуля( Контекст );

КонецПроцедуры  //ВключитьПерехватСобытий 

  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #1 - 12. Ноября 2007 :: 09:23
Печать  
какой ночник?
Проблема была решена несколько дней назад.
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #2 - 12. Ноября 2007 :: 09:42
Печать  
хм. был 2007-11-08, сейчас попробовал на 2007-11-12.
FormEx #79 beta

То же самое.

Имена функций-обработчиков, что в ОКОПе, что в ГМ, одинаковые :
Событие_ЗаписьСобытияЖурналаРегистрации
Событие_НеобработаннаяОшибка


Делать тестовую?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #3 - 12. Ноября 2007 :: 10:03
Печать  
dnp писал(а) 12. Ноября 2007 :: 09:42:
хм. был 2007-11-08, сейчас попробовал на 2007-11-12.
FormEx #79 beta

То же самое.

Имена функций-обработчиков, что в ОКОПе, что в ГМ, одинаковые :
Событие_ЗаписьСобытияЖурналаРегистрации
Событие_НеобработаннаяОшибка


Делать тестовую?

СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации(EVENT_TYPE, EVENT, CATEGORY, COMMENT, OBJECTID, OBJECT)


спасибо Артуру за подобные приятные неожиданности  Смех
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #4 - 12. Ноября 2007 :: 10:43
Печать  
Arta писал(а) 12. Ноября 2007 :: 10:03:
СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации(EVENT_TYPE, EVENT, CATEGORY, COMMENT, OBJECTID, OBJECT)

спасибо Артуру за подобные приятные неожиданности  Смех


Я настойчиво извиняюсь...
СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации на полном игноре и в ГМ и в ОКОПе
Смущённый

Артур, скажи правду!  Круглые глаза
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #5 - 12. Ноября 2007 :: 11:40
Печать  
Опиши в каком порядке идет перехват и загрузка ВК.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #6 - 12. Ноября 2007 :: 11:43
Печать  
dnp писал(а) 12. Ноября 2007 :: 10:43:
СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации на полном игноре и в ГМ и в ОКОПе

В ГМ и не будет такая функция работать. Это функция для перехватчика ГМ.
В просто ГМ как и положено работает ЗаписьСобытияЖурналаРегистрации
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #7 - 12. Ноября 2007 :: 15:54
Печать  
У меня пока всё просто. тестовая конфа. ГМ Почти такой :

Код
Выбрать все
Процедура ПриНачалеРаботыСистемы()
   ГенералХук = СоздатьОбъект( "ГенералХук" );
   ГенералХук.ПерехватитьГМ(); // там и включение настройки, и назначение перехватчиком себя родимого
КонецПроцедуры
//------------
ЗагрузитьВнешнююКомпоненту( "1cpp.dll" );  // 2.5.0.4--2007-11-12
ЗагрузитьВнешнююКомпоненту( "FormEx.dll" ); // 2.0.5.79.beta
//*
 



КОП "ГенералХук" тоже тупой, перехватывает и делает из параметров "Сообщить(...)". Просто чтобы видно было. На счет того, что в моем КОПе обработчик перехвата должен быть описан как СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации, так это я пробовал - конфа тестовая, дело не долгое, погонял все, даже глупые, вариации.
Все "ПриОткрытии" и т.п. отрабатывают "на Ура", с перехватом этих трёх забытий (НеобработаннаяОшибка, ЗаписьЖурналаРегистрации, ПользовательскаяЗаписьЖР) пока глухо.

Завтра с утреца продолжу Улыбка
Есть, конечно, слабый шанс, что тупил... Но, кмк, перебрал все варианты.
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #8 - 12. Ноября 2007 :: 16:01
Печать  
dnp писал(а) 12. Ноября 2007 :: 15:54:
У меня пока всё просто. тестовая конфа. ГМ Почти такой :
Код
Выбрать все
... ГенералХук.ПерехватитьГМ(); // там и включение настройки, и назначение перехватчиком себя родимого... 


Может в этом трабл? Что мой перехватчик сам себя назначает таковым? Тоесть типа на момент назначения ещё не всё готово?... Хотя тогда почему ПриЗаписи, ПослеОбновленияФормы, ... нормально подхватывает?

Ой-йёооо.... Завтра.
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #9 - 12. Ноября 2007 :: 16:17
Печать  
Да. На счет порядка перехвата забыл ответить. Ага:
Порядок перехвата пока такой, В ОКОПе "ГенералХук" :
Код
Выбрать все
 // ГенералХук::
Процедура ПерехватитьГМ()
   // Включаем настройку перехвата всего
   // ....

   // Перехватываем
   СистемныйПерехватчик = СоздатьОбъект( "Перехватчик" );

   // Порядок подключения этих трёх - мог наврать :
   СистемныйПерехватчик.ПодключитьСобытие_НеобработаннаяОшибка();
   СистемныйПерехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации();
   страции();

   // Это подключение стопудово последнее :
   СистемныйПерехватчик.ПерехватитьСобытияГлобальногоМодуля( Контекст );

КонецПроцедуры

 

  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #10 - 13. Ноября 2007 :: 04:18
Печать  
Тест типа "Что я делаю не так?"

ОКОП::СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации
vs
ГМ::Событие_ЗаписьСобытияЖурналаРегистрации

Для начала, обработчики в ГМ заремлены, если отремить, то открытие документа
Меню \ Всё \ Журнал Общий \ Открыть документ
будет сопровождаться не только
ОКОП::СобытиеГМ_ПриОткрытии
но и
ГМ::Событие_ЗаписьСобытияЖурналаРегистрации   Ev: 3,Docs,DocOpen; obj=O/12/5; (, ПростойДок 4431 09.01.2007 14:48:12)

Добиться реакции ОКОП::СобытиеГМ_Событие_ЗаписьСобытияЖурналаРегистрации не могу.
  

_hook_03.zip ( 29 KB | Загрузки )
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #11 - 13. Ноября 2007 :: 08:00
Печать  
dnp писал(а) 12. Ноября 2007 :: 16:17:
Да. На счет порядка перехвата забыл ответить. Ага:
Порядок перехвата пока такой, В ОКОПе "ГенералХук" :
[code]
Сперва перехватываем:
   СистемныйПерехватчик = СоздатьОбъект( "Перехватчик" );
   СистемныйПерехватчик.ПерехватитьСобытияГлобальногоМодуля( Контекст );
потом ловим события:
   СистемныйПерехватчик.ПодключитьСобытие_НеобработаннаяОшибка();
   СистемныйПерехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации();
   страции();


работает 100%, проверяй у себя.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #12 - 13. Ноября 2007 :: 08:00
Печать  
dnp писал(а) 12. Ноября 2007 :: 16:01:
Может в этом трабл? Что мой перехватчик сам себя назначает таковым?


все верно. так и надо.
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #13 - 13. Ноября 2007 :: 09:36
Печать  
Arta писал(а) 13. Ноября 2007 :: 08:00:
работает 100%, проверяй у себя.

Даже и не знаю, что сказать.
А мой тест из (10) кто-нибудь пробовал?..
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перехватчик.ПерехватитьСобытияГлобальногоМодул
Ответ #14 - 13. Ноября 2007 :: 09:52
Печать  
Всё. Разобрался... Щас отдышусь и напишу.
Лажа  Печаль
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать