Automatisierungsclients

Die Automatisierung ermöglicht es Ihrer Anwendung, Objekte zu bearbeiten, die in einer anderen Anwendung implementiert wurden, oder Objekte verfügbar zu machen, damit sie bearbeitet werden können. Ein Automatisierungsclient ist eine Anwendung, die verfügbar gemachte Objekte bearbeiten kann, die zu einer anderen Anwendung gehören. Die Anwendung, die die Objekte verfügbar macht, wird als Automatisierungsserver bezeichnet. Der Client bearbeitet die Objekte der Serveranwendung, indem auf die Eigenschaften und Funktionen dieser Objekte zugegriffen wird.

Typen von Automatisierungsclients

Es gibt zwei Arten von Automatisierungsclients:

  • Clients, die dynamisch (zur Laufzeit) Informationen zu den Eigenschaften und Vorgängen des Servers abrufen.

  • Clients, die statische Informationen besitzen (zur Kompilierungszeit bereitgestellt), die die Eigenschaften und Vorgänge des Servers angibt.

Clients der ersten Art erhalten Informationen zu den Methoden und Eigenschaften des Servers, indem sie den Mechanismus des IDispatch OLE-Systems abfragen. Obwohl es für dynamische Clients angemessen ist, ist es schwierig, IDispatch für statische Clients zu verwenden, wo die gesteuerten Objekte zur Kompilierungszeit bekannt sein müssen. Bei statischen gebundenen Clients stellen die Microsoft Foundation-Klassen die COleDispatchDriver-Klasse bereit.

Statische gebundene Clients verwenden eine Proxyklasse, die statisch mit der Clientanwendung verknüpft ist. Diese Klasse stellt eine typsichere C++-Kapselung der Eigenschaften und Vorgänge der Serveranwendung bereit.

Die Klasse COleDispatchDriver bietet die Hauptunterstützung für die Clientseite der Automatisierung. Mithilfe des Dialogfelds "Neues Element hinzufügen" erstellen Sie eine von COleDispatchDriver.

Anschließend geben Sie die Typbibliotheksdatei an, die die Eigenschaften und Funktionen des Objekts der Serveranwendung beschreibt. Das Dialogfeld "Element hinzufügen" liest diese Datei und erstellt die COleDispatchDriverabgeleitete Klasse mit Memberfunktionen, die Ihre Anwendung aufrufen kann, um auf die Objekte der Serveranwendung in C++ auf typsichere Weise zuzugreifen. Zusätzliche Funktionen, von COleDispatchDriver der geerbt werden, vereinfacht den Aufruf des richtigen Automatisierungsservers.

Behandeln von Ereignissen in Automatisierungsclients

Wenn Sie Ereignisse in Ihrem Automatisierungsclient behandeln möchten, müssen Sie eine Senkenschnittstelle hinzufügen. MFC bietet Assistentenunterstützung zum Hinzufügen von Sinkschnittstellen für ActiveX-Steuerelemente, aber nicht zur Unterstützung für andere COM-Server.

Siehe auch

Automatisierungsclients: Verwenden von Typbibliotheken
Automation
MFC-Anwendungs-Assistent