| RWidjets v.1.3.1 |
Объект типа RHook позволяет перехватывать момент уничтожения своего экземпляра и выполнять указанный скрипт на внутреннем языке V7 в контексте выполняемого модуля. Таким образом RHook позволяет предпринять какие-либо действия в момент возникновения ошибки (что лучше делает конструкция Попытка-Исключение) и в момент прерывания выполнения работы модуля пользователем нажатием кнопки 'Esc' (чего стандартными средствами сделать невозможно). Кроме того RHook позволяет отменить возможность прерывания модуля пользователем нажатием кнопки 'Esc'.
Это может быть полезно в случаях, когда вмешательство пользователя крайне нежелательно.
Процедура Сформировать()
лХук=СоздатьОбъект("RHook");
лХук.УстановитьПерехватЭскейп(1);
// пользователь не сможет прервать выполнение этого цикла
Для А=1 По 20000 Цикл
Состояние("Цикл 1");
КонецЦикла;
лХук.УстановитьПерехватЭскейп(0);
// а этого сможет
Для А=1 По 20000 Цикл
Состояние("Цикл 2");
КонецЦикла;
КонецПроцедуры
| Установить | Включает, выключает режим выполнения скрипта при уничтожении экземпляра объекта. |
| Скрипт | Устанавливает текст скрипта |
| УстановитьПерехват | Включает, выключает перехват нажатия кнопки Esc |