свойства соответственно (эти функции описываются внутри контейнера <script>). Если же атрибут internalName не указан, то чтение (запись) свойства производится в функции с именем get_PropertyName(put_PropertуName) , где PropertyName — имя свойства (атрибут <name>).

Элемент <method>

Элемент <method> объявляет метод СОМ-объекта, который будет доступен для внешних клиентов автоматизации.

Атрибут name определяет имя этого метода. В дальнейшем, если не указан атрибут internalName, внутри контейнера <script> должна быть описана функция или процедура с таким же именем

Задание атрибута internalName позволяет внутри контейнера <script> использовать для реализации метода функцию или процедуру с именем, отличным от значения аргумента name.

Список параметров метода (если они имеются) задается внутри элемента <method> с помощью элементов <parameter>, каждый из которых должен содержать аргумент name, определяющий имя параметра.

Элемент <event>

Элемент <event> объявляет событие, которое может возникать в СОМ-объекте и обрабатываться клиентами автоматизации.

Аргумент name, как обычно, определяет имя этого события. С помощью аргумента dispid можно указать числовой идентификатор интерфейса события. Этот идентификатор компилируется в библиотеку типов объекта и используется в клиентском приложении для обработки нужного события.

Для того чтобы вызвать наступление события, внутри элемента <script> используется функция fireEvent() с именем нужного события в качестве параметра.

Элементы <resource>, <object> и <reference>

Элементы <resource>, <object> и <reference> имеют тот же смысл, что и в модели WS XML (см. описание этих элементов в главе 3).

Элемент <script>

В элементе <script> приводится сценарий на языках JScript или VBScript, который определяет поведение создаваемого СОМ-объекта — здесь нужно задать глобальные переменные, соответствующие объявленным в элементах <property> свойствам объекта, описать функции или процедуры для объявленных с помощью элементов <method> методов объекта и т.д.

Перейдем теперь к рассмотрению конкретного примера, для которого мы подробно опишем создание компонента-сценария, регистрацию его в системе в качестве СОМ-объекта и использование этого объекта в JScript-сценарии.

Пример: СОМ-объект для архивирования файлов

Представим себе следующую ситуацию. Имеется несколько каталогов на жестком диске, в которых хранятся рабочие файлы разных пользователей. Необходимо каждый день с помощью программы- архиватора arj.exe делать архивы этих файлов в заданный каталог, при этом имя архивного файла должно соответствовать шаблону ппММДД.arj', где пп — уникальный для каждого пользователя префикс, ММ — текущий месяц, ДД — текущий день.

Мы создадим компонент-сценарий DateArc.WSC, с помощью свойств и методов которого можно будет выполнить поставленную задачу.

Начнем мы с того, что определимся, какие именно свойства и методы будет содержать создаваемый объект (табл. 10.1).

Таблица 10.1. Свойства и методы объекта DateArc.WSC

Название Свойство/метод Режим доступа Описание
SFrom Свойство Чтение/запись Исходный каталог для архивирования
SArch Свойство Чтение/запись Каталог, в котором хранятся архивные файлы
SPref Свойство Чтение/запись Префикс файла-архива
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату