Регистрация компонентов
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, то все компоненты, которые должны быть установлены вместе с приложением, будут устанавливаться программой инсталляции.