Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Поддержка технологий COM >> Автоматизация >> Создание внутреннего сервера автоматизации

[Назад]    [Содержание ]    [Вперед]

  


Создание внутреннего сервера автоматизации


Внешние серверы запускаются как приложения, а внутренние ? из DLL. Можно начать с существующей или с новой DLL, которую можно создать с помощью диалогового окна New Items (команда FileЮNew), дважды щелкнув на пиктограмме DLL.

На заметку Если вы не очень хорошо знакомы с DLL, обратитесь к главе 9, "Динамически компонуемые библиотеки", в которой детально описывается создание DLL.

Как уже упоминалось ранее, для того чтобы представлять внутренний сервер автоматизации DLL должна экспортировать четыре функции, которые определены в модуле ComServ: DllGetClassObject(), DllCanUnloadNow(), DlIRegisterServer() и DllUnregisterServer. Добавьте эти четыре функции в раздел exports проекта, как показано в листинге.

0бъект автоматизации добавляется к проекту DLL так же, как и выполняемый проект: с помощью средства Automation Object Wizard. Для этого проекта можно добавить одно свойство и один метод, как показано на рис. 7. Библиотека типа приведена в листинге.


Рис. 7. Проект IPS в редакторе библиотеки типа

Естественно, что выше приведен простейший пример сервера автоматизации, но он всего лишь предназначен для иллюстрации подключения. Свойству MessageStr может быть присвоено значение, которое затем можно отобразить с помощью функции ShowMessageStr(). Реализация интерфейса IIPTest осуществлена в модуле IPSMain.pas, код которого приведен в листинге.

Как уже упоминалось ранее в этой главе, внутренние серверы регистрируются не так, как внешние. Для регистрации в системном реестре внутреннего сервера вызывается функция DllRegisterServer(). В интегрированной среде разработки Delphi выполнить этот процесс очень просто ? с помощью команды Run? Register ActiveX Server.



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017