Писане на COM компоненти с помощта на скриптови езици
Основните цели на разработката на COM бяха създаването на архитектура на разпределени компоненти, взаимодействието на компонентите по време на изпълнение, поддръжка за автоматизация на приложенията и съвместимост със скриптовите езици. COM се опитва да бъде възможно най-толерантен към езика и сега можете да използвате скриптове не само за използване на готови COM обекти, но и за създаване на нови. Компонентите на Windows Script (WSC) ви позволяват да пакетирате скриптове за използване като COM компоненти.
Отблизо
Като цяло WSC са просто XML файлове, съдържащи код на скрипт и представящи се за COM класове. В тази статия ще ви покажем как да работите с такива файлове. XML е език за маркиране, подобен на HTML, който ви позволява да вмъквате тагове в документ. Но XML е много по-гъвкав. Въпреки че XML и HTML се използват за описване на форматирането и характеристиките на показването на документ, XML може да направи много повече. Например, той може да опише семантиката и организационната структура на документ.
Създаването на компонент, базирано на скрипт, включва писане на малък XML файл, който съответства на синтаксиса на WSC. Листинг 1 показва формата на такъв файл. Кодът в този файл представлява инфраструктурата на компонента на скрипта. Обърнете внимание на етикетите.
Изразът на първия ред от Листинг 1
казва на скрипт двигателя, че XML файлът отговаря на стандарта XML 1.0. (Съответствието с XML се изключва чрез просто пускане на този ред). С активирано XML картографиране имената на елементите и атрибутите са чувствителни към малки и малки букви и стойностите на атрибутите трябва да бъдат затворени с въпросителни знаци. Също така, запазените знаци от тип XML трябва да бъдат ясно очертани, когато се използват в скрипт. Например знакът - определя обхвата на компонента на скрипта. Маркерът казва на скрипт двигателя да извежда синтаксис и грешки по време на изпълнение и да активира скрипта за отстраняване на грешки. - дефинира двойките ключ/стойност на системния регистър, необходими за стартиране на скрипта като COM обект.
- това е мястото на деклариране на методи, свойства и събития.
В допълнение към скрипт инфраструктурата, показана в Листинг 1, конверторът от Листинг 2 включва маркерите
и и малко код вътре в маркера. Етикет
означава свойството на обект, достъпен за клиенти. Свойството може да се записва, ако описанието му съдържа маркер
а за четене - ако. Маркерът описва наличните методи на обекта и техните параметри (чрез маркера
). Информацията, съдържаща се в тази част от XML, е чисто декларативна. Определенията на реалното свойство и метод са в раздела Скрипт.
Истинският код на скрипта започва с маркера
Основната разлика между компонентите VBScript и JScript се намира в раздела за скриптове на WSC файла.
Мисля, че няма да ви е трудно да напишете файл, който стартира този компонент със собствените си ръце.
производителност
Сега, след като имате тези два файла с някакъв скриптов код вътре, как да направите COM обекти от тях? На този въпрос се отговаря най-лесно, като се разгледат записите в системния регистър за компонент на скриптов език. Но първо трябва да го регистрирате. Можете да прочетете за това как да направите това в раздела "Регистриране на обект на скрипт", но засега разгледайте описанието, получено от нашия регистър: