Поделиться через


Клиенты службы автоматизации

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

Типы клиентов службы автоматизации

Существует два типа клиентов службы автоматизации:

  • Клиенты, которые динамически (во время выполнения) получают сведения о свойствах и операциях сервера.

  • Клиенты, имеющие статические сведения (предоставленные во время компиляции), которые указывают свойства и операции сервера.

Клиенты первого типа получают сведения о методах и свойствах сервера, запрашивая механизм системы IDispatch OLE. Хотя это достаточно для использования динамических клиентов, IDispatch трудно использовать для статических клиентов, где управляемые объекты должны быть известны во время компиляции. Для статических привязанных клиентов классы Microsoft Foundation предоставляют класс COleDispatchDriver .

Статические привязанные клиенты используют класс прокси-сервера, который статически связан с клиентским приложением. Этот класс предоставляет типобезопасную C++ инкапсуляцию свойств и операций серверного приложения.

COleDispatchDriver Класс предоставляет основную поддержку клиентской стороны службы автоматизации. С помощью диалогового окна "Добавить новый элемент" создается класс, производный от COleDispatchDriver.

Затем вы указываете файл библиотеки типов, описывающий свойства и функции объекта серверного приложения. Диалоговое окно "Добавление элемента" считывает этот файл и создает класс, производный от COleDispatchDriver, с методами, которые приложение может вызывать для доступа к объектам серверного приложения в типобезопасном режиме на языке C++. Дополнительные функциональные возможности, унаследованные от COleDispatchDriver, упрощают процесс вызова правильного сервера автоматизации.

Обработка событий в клиентах службы автоматизации

Если вы хотите обрабатывать события в клиенте автоматизации, необходимо добавить интерфейс приемника. MFC предоставляет поддержку мастера для добавления интерфейсов приема для элементов ActiveX, но не предоставляет поддержку для других COM-серверов.

См. также

Клиенты службы автоматизации: использование библиотек типов
Автоматизация
Мастер приложений MFC