![]() |
Адрес этой странички:
http://d1cv8.narod.ru/top_005/d1cv8_20090926_001/d1cv8_20090926_003.htm Дата: 27.09.2009 Интернет-приложение к книге "Delphi и 1С:Предприятие.Программирование информационного обмена" |
Часть
![]() |
Глава 5. Расширение
функционала 1С.
ActiveFormX в среде
1Cv8.
(продолжение)
События ActiveFormX.
Обработчики событий (от ActiveX-формы)
в контексте 1Cv8
|
Функционал, который возлагается на разрабатываемую ActiveX-форму, может потребовать наличие механизма извещений (между ActiveX-формой и формой "внешней обработки" 1Cv8) о событиях, сгенерированных в контексте разрабатываемой ActiveX-формы.
Посмотрим, каким образом это можно реализовать ...
"Наделим"
нашу
ActiveX-форму способностью генерировать специальные
события в формате :
OnMySwitch(WhoIsIt, WhatIsIt);
Здесь :
OnMySwitch - событие (переключение состояния)
WhoIsIt
- источник события
WhatIsIt
- состояние источника события (после переключения)
Для этого нужно выбрать пункт меню "View" -> "Type Library" и, отметив строку IMy_ActiveFormX_01Events, открыть всплывающее меню (по правой кнопке мыши), где выбрать пункт "Method" :
Переименуем новое событие : OnMySwitch и создадим
для него два входных параметра (согласно нашего функционала) :
Переименуем вкладку (с индексом=0) компонента TN1 :
"События" и "кинем" на эту вкладку компонент TCheckBox :
Создадим обработчик
события : "Переключение состояния" этого TCheckBox :
Доработаем исходный код
нашей ActiveX-форму следующим образом :
Далее, скомпилировать проект (результирующий файл :
My_ActiveFormX_01_afx.ocx).
Закрыть конфигуратор (и программу)
1Cv8.
Заменить ocx-файл с предыдущей версией нашей
ActiveX-формы (в каталоге OCX) - на
новый.
Зарегистрировать (если это еще не производилось с предыдущей версией ocx-файла)
: RegSvr32 My_ActiveFormX_01_afx.ocx
Теперь, нужно открыть конфигуратор 1Cv8 :
Открыв нашу
"внешнюю обработку" (файл Тест_My_ActiveFormX_01_afx_ocx_02.epf)
увидим, что на странице свойств нашей ActiveX-формы
появилась "заглушка" для обработчика события OnMySwitch :
Создадим обработчик этого события :
Теперь нужно сохранить изменения в новый файл:
Тест_My_ActiveFormX_01_afx_ocx_03.epf
Запустить
программу 1С:Предприятие, открыть файл внешней обработки
Тест_My_ActiveFormX_01_afx_ocx_03.epf и
"пощелкать" мышкой по Delphi-компоненту TCheckBox :
Исходники этого примера можно скачать здесь :
Delphi-проект
(364 кб) , "Внешняя обработка" (1Cv8)
(5.4 кб).
Расположим на нашей
ActiveX-форме еще 3 разных источника событий :
Реализация
"обработчиков" (исходники) :
Форма "внешней
обработки" 1Cv8 :
Реакция на событие (OnMySwitch) от ActiveX-формы
:
Исходники этого примера можно скачать здесь :
Delphi-проект
(375 кб) , "Внешняя обработка" (1Cv8)
(5.4 кб).