Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

элемент

<public>
может содержать один или несколько элементов
<property>
,
<method>
или
<event>
.

Обязательными для создания компонента-сценария являются элементы

<component>
,
<registration>
,
<public>
и
<script>
.

Опишем теперь элементы XML, использующиеся в WSC-файлах, более подробно.

Элементы WSC-файла

В WSC-файлы можно вставлять комментарии двумя разными способами: с помощью элемента

<!-- -->
или элемента
<comment>
.
Например:

<!-- Первый комментарий -->

или

<comment>

Второй комментарий

</comment>

Элементы <?xml?> и <![CDATA[]]>

Напомним, что эти элементы являются стандартными для разметки W3C XML 1.0 (см. главу 3). Для того чтобы использовать символы кириллицы в файлах компонентов-сценариев, нужно обязательно в элементе

<?xml?>
указать атрибут
encoding
со значением, соответствующим используемой кодировке, например:

<?xml version="1.0" encoding="windows-1251"?>

Элемент <package>

Этот элемент необходим в тех WSC-файлах, в которых с помощью элементов

<component>
определено более одного компонента. В этом случае
<package>
является контейнером для элементов
<component>
.

Если же в WSC-файле описан только один компонент, то элемент

<package>
можно не использовать.

Элемент <component>

Внутри элемента

<component>
описывается один компонент-сценарий (СОМ-объект). Необязательный атрибут
id
определяет идентификатор объекта (это может понадобиться в том случае, когда в одном WSC-файле находится несколько СОМ-объектов).

Элемент <registration>

В элементе

<registration>
приводится информация, которая необходима для регистрации в системе компонента-сценария в качестве СОМ-объекта.

Атрибуты

progid
и
classid
задают соответственно программный идентификатор и глобальный код, с помощью которых компонентсценарий может быть использован в других приложениях (например,
progid="MyClass.MyObject"
и
classid="{424ac2bc-5732-4dea-be17-0211af99cd79}"
). Из этих двух атрибутов обязательно должен быть указан хотя бы один (можно указать и оба). Если в элементе
<registration>
приведен только атрибут
progid
, то глобальный код (GUID) для описываемого объекта будет сгенерирован автоматически при регистрации объекта в системе. Рекомендуется, однако, явно указывать глобальный код объекта, т.к. в противном случае этот код может оказаться различным при регистрации объекта на разных машинах.

Замечание

Глобальный код объекта может быть сгенерирован с помощью описанной ниже программы Windows Script Component Wizard.

С помощью атрибута

description
можно задать краткое описание объекта, которое будет занесено в системный реестр при регистрации объекта.

Атрибут

version
позволяет указать номер версии описываемого объекта. Этот номер позволяет запрашивать из приложения определенную версию СОМ-объекта (он должен быть указан через точку после программного идентификатора объекта, например
"Myclass.MyObject.1"
).

С помощью элемента

<script>
внутри контейнера
<registration>
можно
указать две функции, одна из которых будет вызываться при регистрации объекта в системе (эта функция должна иметь имя
Register
), а другая — при удалении объекта из системы (эта функция должна иметь имя
Unregister
).

Элемент <public>

В элементе

<public>
описываются те свойства, методы и события объекта, которые после его регистрации будут доступны извне другим приложениям (клиентам автоматизации). Другими словами, этот элемент является контейнером для элементов
<property>
,
<method>
и
<event>
.

Элемент <property>

Элемент

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

Атрибут

name
определяет имя этого свойства (в дальнейшем внутри элемента
<script>
должна быть объявлена глобальная переменная с тем же именем, с помощью которой можно будет изменять значение свойства). Объявляемое свойство может быть доступно либо только для чтения (внутри контейнера
<property>
указан только элемент
<get>
), либо только для записи (внутри
<property>
указан только элемент
<put>
), либо и для чтения и для записи (внутри
<property>
указаны как элемент
<get>
, так и элемент
<put>
).

Атрибут

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

Элемент <method>

Элемент

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

Атрибут

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

Задание атрибута

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

Список параметров метода (если они имеются) задается внутри элемента

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

Элемент <event>

Элемент

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

Аргумент

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

Поделиться:
Популярные книги

На границе империй. Том 7. Часть 3

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

Русалка на суше

Максонова Мария
Элементали. Русалка
Фантастика:
фэнтези
5.00
рейтинг книги
Русалка на суше

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Неудержимый. Книга XIX

Боярский Андрей
19. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIX

Теневой путь. Шаг в тень

Мазуров Дмитрий
1. Теневой путь
Фантастика:
фэнтези
6.71
рейтинг книги
Теневой путь. Шаг в тень

Страж Кодекса. Книга II

Романов Илья Николаевич
2. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга II

Ты не мой Boy 2

Рам Янка
6. Самбисты
Любовные романы:
современные любовные романы
короткие любовные романы
5.00
рейтинг книги
Ты не мой Boy 2

Мне нужна жена

Юнина Наталья
Любовные романы:
современные любовные романы
6.88
рейтинг книги
Мне нужна жена

Мастер Разума

Кронос Александр
1. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
6.20
рейтинг книги
Мастер Разума

Машенька и опер Медведев

Рам Янка
1. Накосячившие опера
Любовные романы:
современные любовные романы
6.40
рейтинг книги
Машенька и опер Медведев

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Вперед в прошлое 3

Ратманов Денис
3. Вперёд в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 3

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница