Общение

Создание скриплета


Файл описывающий скриплет(*.sct) - это XML файл, очень похожий на HTML, но содержащий специфические таги определяющие скриплет и его поведение. Остановимся поподробнее на создании скриплета. Скриплет содержит следующие элементы:

  1. <scriplet> - таг ограничивающий определение скриплета.
  2. <registration> - элемент содержащий информацию необходимую для регистрации скриплета как COM компоненты. Этот элемент может быть необязательным, если использующее скриплет приложение, например Internet Explorer, не использует напрямую реестр Windows при создании экземпляра скриплета.
  3. <implements> - содержит объявление об используемых interface handlers для данного скриплета, определяющее к какому типу COM компонент будет принадлежать скриплет или какие дополнительные возможности предполагается использовать, например Event interface handler. В зависимости от COM типа в <implements> определяются свойственные ему методы, реализация которых ложится на вас. Предположим, вы объявляете об использовании Automation handler, определяющим ваш скриплет как COM Automation компоненту и тогда внутри <implements>, кроме объявления типа: <implements type=Automation > определяются те методы и свойства, которые вы хотите сделать доступными.
  4. <script> содержит код реализующий логику скриплета, зависящий от того к какому типу COM компонент ваш скриплет принадлежит. Если вы создаете COM Automation, то в <script> реализуются описанные в <implements> методы и свойства. Каркас скриплета представляет из себя нечто подобное: <?scriptlet validate="true" error="true" debug="true"?> <scriptlet> <registration progid="progid" description="description" version="version" clsid="{classid}"> <implements type=COMhandlerName id=internalName> <property name="name"/> <method name="name"/> </implements> <script language="VBScript"> Function method() 'script here End Function </script> <script language="JavaScript"> function method() { // script here } </script> </scriptlet>


Иногда необходимо чтобы скриплет был зарегистрирован. Для регистрации скриплета можно воспользоваться программой Regsvr32.exe или выбрав пункт Register по правому нажатию кнопки мыши на файле *.sct.

Для того чтобы облегчить приложению, использующему скриплеты возможность узнать интерфейс скриплета, имеется возможность создать библиотеку типов. Библиотека типов содержит информацию о методах, свойствах и инициируемых событиях скриплета, а также количестве параметров необходимых для вызова методов. Для создания библиотеки типов необходимо выбрать пункт Generate Type Library в меню по правому нажатию кнопки мыши. Библиотека типов (*.tlb) создается в той же папке с именем скриплета и регистрируется в реестре Windows.

По умолчанию при выполнении скриплета не выдается никаких сообщений об ошибках. Но можно включить режим, при котором отслеживаются синтаксические ошибки, проверяется корректность использования XML и появляется возможность отладки скриплета средствами script debugger. Для этого в элементе <?scriptlet?> - предусмотрены следующие опции:

  • validate - при присвоении true, выполняется проверка XML элементов на корректность использования и синтаксические ошибки.
  • error - при присвоении true, позволяет получать сообщения об ошибках времени исполнения.
  • debug - при присвоении true, позволяет отлаживать скриплет с помощью script debugger.

    Если элемент <?scriptlet?> не включен в файл, то все опции устанавливаются в false.


    Содержание раздела