.
Monday 21st of May 2012    

Информация

Счетчики

Голосование

Лучшая марка телефона
 

Реклама

фильмы онлайн

фильмы онлайн


Элементы COM-приложения
загрузка...

Разработчик стандартного COM-приложения в любом случае столкнется с двумя его элементами: сервер COM и клиент COM. Сервер COM представляет собой отдельный модуль, реализованный в виде самостоятельного исполняемого EXE-файла или файла динамической библиотеки DLL.

Моделью COM предусмотрены две разновидности сервера: внутренний и внешний. Внутренний сервер COM трудится в том же адресном пространстве, что и клиентское приложение. Для этого сервер реализуется в динамически подключаемых библиотеках и вызывается клиентом COM в нужный

момент. В отличие от внутреннего сервера, внешний COM-сервер выполняется в своем собственном адресном пространстве. Допускается, чтобы внешний сервер порождался процессом, выполняющимся на другом компьютере. В этом случае вернее говорить не просто о COM, а о распределенной COM (Distributed COM, DCOM). При этом передача вызовов между двумя машинами осуществляется с помощью механизма удаленного вызова процедур (Remote Procedure Call, RPC).

Теперь рассмотрим классы VCL, поставленные на службу технологии COM. В состав COM-сервера как минимум входят:

1. Один-единственный экземпляр класса TcomServer, инкапсулирующий сам COM-сервер. Доступ к этому объекту обеспечивает создаваемая при запуске сервера глобальная переменная ComServer.

2. Описание COM-объекта (или нескольких объектов), прототипом которого служит класс TComObject.

3. Фабрика класса (по одной на каждый тип COM-объекта). Основой фабрики класса служит класс TComObjectFactory.

4. Обслуживанием фабрик ведает менеджер фабрик - объект класса TComClass-Manager. Экземпляр менеджера создается автоматически и доступен в приложении COM-сервера благодаря глобальной переменной ComClassManager.

Клиент COM пользуется услугами сервера, но не имеет ни малейшего понятия об особенностях его реализации. Доступ клиента к службам внедренного в сервер COM-объекта осуществляется только через интерфейсы этого объекта; это ключевая особенность всей COM-модели. Получив указатель на интерфейс, клиентское приложение приобретает право вызова методов объекта.


загрузка...
 

Самое популярное:

bottom

карта сайта