1. Знаешь, я этот код сделал после того, как на одинокое
СистемныйПерехватчик.ПерехватитьСобытияГлобальногоМодуля( ГенералХук );
получил вот это:
Цитата:СистемныйПерехватчик.ПерехватитьСобытияГлобальногоМодуля( ГенералХук );
{.... Файл такой-то.ЕРТ(17)}: На глобальный модуль уже установлен перехват!
Правда это были
1С++ 2.5.0.4 Nightly build 2007-10-31
FormEx 2.0.5.0 #45
Завтра на работе попробую на свежем.
2. Жалко, что таблицу вообще не понял
я оч старался.
Резюме :
• Некоторые события могут возникать, даже если их не включить.
• Если событие включить а потом выключить, то поведение перехвата в некоторых случаях не будет совпадать с поведением, если это событие и не включали вовсе.
• Поскольку входных условий много, а сочетаний их - ещё больше, то выразить все это в виде текста ("Если делаем так-то, то получаем это, это и это. Если теперь сделать ещё вот так, то всё останется так же, кроме вот этого момента...") я решил будет хуже, чем сделать таблицу. Хм..
Всё таки дам пояснения к табличке, вдруг поможет
Её нужно смотреть по строкам сверху вниз. Каждая строка - это описание моего воздействия и реакция обработчиков.
Желтым отметил моменты (строки), когда состояние 1С "сбрасывается" -- закрываю 1С совсем и запускаю заново.
Бежевым отметил строки, когда меняю набор обработчиков (кодом приведенным в #86) , без выгрузки 1С; "ДА" - я включил перехват, "НЕТ" - не включил.
1. С первой колонки начинаются мои комментарии и промежуточные выводы. Это не
выполнявшиеся действия, только пояснения.
2. Во второй колонке указано моё действие - запуск 1С, или генерация какого-либо события. Если это событие породило более чем одну сработку обработчиков, то будет дополнительная строка, где генерируемое событие уже не указано (фактически ведь оно было одно, хоть сработок и много (точнее - две))
3,4,5. Остальные колонки - это инфа по сработавшим перехватам (в заголовке таблицы есть подписи).
• "1" или "0" - это что данный функция-обработчик вернет системе (от этого зваисит дальнейшее поведение 1С),
• "ок" или "бяка" - это качество полученной обработчиком в параметрах инфы (есть случаи искажения)
• ячейка может быть покрашена в голубой цвет -- посмотри по этой колонке вверх, и увидишь, что
обработчик-то выключен..., эта сработка есть, хотя мы, вроде, не заказывали.
Большая часть строк этой таблицы не содержит в себе указания на ошибку в поведении, они предназначены для того, чтобы показать - "В этом месте всё нормально, получаем ожидаемый результат" или предназначены для сравнения "ага, вот оно ещё нормально, а вот, тремя строчками ниже - уже колбасит" Могу выложить завтра текущее состояние тестовой конфы, из которой это поведение выковыривал.