Visual Basic 6. Руководство разработчика

       

Регистрация компонентов


ActiveX

Классы регистрируются автоматически в системе, где они разработаны. Созда­ваемые DLL или ЕХЕ-файлы, реализующие классы, также автоматически регист­рируются Visual Basic. Но если нужно создать класс, который должен быть доступен разработчикам в других системах? Если компонент создан как ЕХЕ-сервер, то его можно распространить в виде ЕХЕ-файла. При запуске на компьютере, где компо­нент будет использоваться, класс зарегистрируется автоматически. Никаких сооб­щений или форм при этом не выдается. Все, что нужно сделать, так это запустить ЕХЕ-сервер, который сам себя зарегистрирует.

Для DLL-компонент ситуация отличается коренным образом, поскольку они сами не выполняются. Они должны загружаться другим приложением (вот почему ActiveX DLL называются еще внутренними серверами — они обслуживают только процессы, которые их содержат). ActiveX DLL должны регистрироваться с помощью утилиты REGSVR32, которая поставляется с Visual Basic (она находится в подпапке RegUtils папки Tools на компакт-диске Visual Basic). REGSVR32 — это программа, которая позволяет регистрировать и удалять внутренние серверы. Возможность удаления внешних серверов также важна. Например, просто удалить DLL-файлы, которые реализуют программный компонент, недостаточно. Необходимо также убрать компоненты из системного реестра, что можно сделать с помощью утилиты REGSVR32.

Для регистрации ActiveX DLL создайте файл, используя команду Make ClassName.dll из меню File (ClassName является именем класса). Затем скопируйте этот файл в папку Windows System или любую другую. Для регистрации DLL от­кройте окно Command Prompt (окно командной строки DOS), перейдите в пап­ку, где находится DLL, и выполните следующую команду:

С:\WINDOWS\SYSTEM\REGSVR32 ClassName.dll

ClassName.dll -

это имя файла, в котором реализован сервер. Есть несколько опций, которые можно использовать с утилитой REGSVR32. Опция /и удаляет ранее зарегистрированный DLL.

Чтобы удалить файл ClassName.dll, используйте команду:

REGSVR32 /u ClassName.dll

Когда новый компонент DLL зарегистрирован, утилита REGSRV сообщает о результатах операции в диалоговом окне. Для подавления вывода этого окна можно использовать опцию /s (silent - молчаливый) REGSRV32 - это наиболее простой механизм для распространения DLL-серверов. Все, что при этом нужно сделать, это написать маленькую программу, которая копирует файл DLL в папку и затем запускает утилиту REGSRV32 для регистрации скопированного DLL. Если дистри­бутивные файлы были созданы с помощью мастера Package & Deployment, то все компоненты, которые должны быть установлены вместе с приложением, будут устанавливаться программой инсталляции.



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