свойства соответственно (эти функции описываются внутри контейнера <script>). Если же атрибут internalName не указан, то чтение (запись) свойства производится в функции с именем get_, где PropertyName <name>).
Элемент
Элемент <method> объявляет метод СОМ-объекта, который будет доступен для внешних клиентов автоматизации.
Атрибут name определяет имя этого метода. В дальнейшем, если не указан атрибут internalName, внутри контейнера <script> должна быть описана функция или процедура с таким же именем
Задание атрибута internalName позволяет внутри контейнера <script> использовать для реализации метода функцию или процедуру с именем, отличным от значения аргумента name.
Список параметров метода (если они имеются) задается внутри элемента <method> с помощью элементов <parameter>, каждый из которых должен содержать аргумент name, определяющий имя параметра.
Элемент
Элемент <event> объявляет событие, которое может возникать в СОМ-объекте и обрабатываться клиентами автоматизации.
Аргумент name, как обычно, определяет имя этого события. С помощью аргумента dispid можно указать числовой идентификатор интерфейса события. Этот идентификатор компилируется в библиотеку типов объекта и используется в клиентском приложении для обработки нужного события.
Для того чтобы вызвать наступление события, внутри элемента <script> используется функция fireEvent() с именем нужного события в качестве параметра.
Элементы
Элементы <resource>, <object> и <reference> имеют тот же смысл, что и в модели WS XML
Элемент
В элементе <script> приводится сценарий на языках JScript или VBScript, который определяет поведение создаваемого СОМ-объекта — здесь нужно задать глобальные переменные, соответствующие объявленным в элементах <property> свойствам объекта, описать функции или процедуры для объявленных с помощью элементов <method> методов объекта и т.д.
Перейдем теперь к рассмотрению конкретного примера, для которого мы подробно опишем создание компонента-сценария, регистрацию его в системе в качестве СОМ-объекта и использование этого объекта в JScript-сценарии.
Пример: СОМ-объект для архивирования файлов
Представим себе следующую ситуацию. Имеется несколько каталогов на жестком диске, в которых хранятся рабочие файлы разных пользователей. Необходимо каждый день с помощью программы- архиватора arj.exe делать архивы этих файлов в заданный каталог, при этом имя архивного файла должно соответствовать шаблону ппММДД.arj', где пп — уникальный для каждого пользователя префикс, ММ — текущий месяц, ДД — текущий день.
Мы создадим компонент-сценарий DateArc.WSC, с помощью свойств и методов которого можно будет выполнить поставленную задачу.
Начнем мы с того, что определимся, какие именно свойства и методы будет содержать создаваемый объект (табл. 10.1).
| Название | Свойство/метод | Режим доступа | Описание |
|---|---|---|---|
SFrom | Свойство | Чтение/запись | Исходный каталог для архивирования |
SArch | Свойство | Чтение/запись | Каталог, в котором хранятся архивные файлы |
SPref | Свойство | Чтение/запись | Префикс файла-архива |
