Главная » Delphi » Распределенная  модель COM

0

Предложенная в Windows NT 4 модель  распределенной  COM (DCOM —  Distributed COM)  предоставляет средства доступа  к объектам COM,  расположенным на  других компьютерах в сети.  Кроме  создания удаленных  объектов, модель  DCOM  предостав ляет  также  простые средства обеспечения безопасности, позволяющие серверам оп ределять, какие  клиенты имеют  право  создавать экземпляры серверов и какие  опера ции  они  могут  выполнять. Операционные  системы Windows NT 4 и  Windows 98 со держат встроенную поддержку модели DCOM, а для Windows 95 необходимо загрузить с  Web сайта   корпорации  Microsoft (http://www.microsoft.com)  специальное  до полнение, которое будет выполнять функции клиента DCOM.

Для создания удаленного объекта COM следует использовать функцию Cre- ateRemoteComObject(), объявленную в модуле ComObj следующим образом:

function CreateRemoteComObject(const MachineName: WideString;

const ClassID: TGUID): IUnknown;

Первый параметр этой  функции, MachineName, является строкой, определяющей се тевое имя компьютера, содержащего необходимый класс COM. Параметр ClassID задает идентификатор CLSID создаваемого объекта COM. Значение, возвращаемое этой функци ей, представляет собой  указатель  на интерфейс IUnknown объекта COM, определенного параметром ClassID. Если создать объект невозможно, то передается исключение.

Функция  CreateRemoteComObject() инкапсулирует функцию API COM  CoCre- ateInstanceEx(), которая является расширенной версией функции  CoCreateIn- stance() и предназначена для создания удаленных  объектов.

Автоматизация

Автоматизация   (automation),   ранее   известная  как   OLE автоматизация   (OLE automation), позволяет приложениям или библиотекам DLL предоставлять свои  про граммируемые объекты для использования их другими  приложениями. Приложения или библиотеки DLL, которые предоставляют свои программируемые объекты, назы ваются  серверами автоматизации (automation server).  Приложения, которые получают доступ к управлению программируемыми  объектами, содержащимися в серверах ав томатизации, называются контроллерами автоматизации (automation controller). Кон троллеры автоматизации способны программировать сервер автоматизации с помо щью специального макроязыка, предлагаемого сервером. Одно  из основных преимуществ использования автоматизации в приложениях — независимость от языка  программирования. Контроллеры автоматизации могут управлять сервером независимо от  языка, использовавшегося при  разработке этого компонента. Кроме  того,  поскольку  автоматизация поддерживается на уровне  опера ционной  системы, теоретически,  в  будущем  можно   будет  легко   использовать все вновь появившиеся возможности этой  технологии, начав применение автоматизации уже сегодня. Если  данная  тема  интересна, давайте  продолжим изучение автоматиза ции. Ниже  в настоящей главе рассматриваются вопросы создания серверов и кон троллеров автоматизации в Delphi.

CОВЕТ

Если существует проект Delphi 2, использующий автоматизацию и подлежащий пере- носу в текущую версию Delphi, то не забывайте, что применяемые для создания авто- матизации методы коренным образом изменились, начиная с Delphi 3. Запомните, что нельзя смешивать подпрограммы модуля автоматизации OleAuto Delphi 2 с подпро- граммами модулей ComObj и ComServ. Если необходимо скомпилировать проект ав- томатизации Delphi 2 в среде Delphi 6, то модуль OleAuto следует поместить в папку

\Delphi6\lib\Delphi2 для организации поддержки обратной совместимости.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии