Automatisierungsserver
Automatisierung ermöglicht es, sodass die Anwendung die Objekte behandelt, die in einer anderen Anwendung implementiert oder Objekte verfügbar macht, damit sie bearbeitet werden.Ein Automatisierungsserver eine Anwendung, die die programmierbaren Objekte (so genannte Automatisierungsobjekte für andere Anwendungen verfügbar gemacht) ( Automatisierungsclients).Automatisierungsserver werden manchmal Automation Komponenten aufgerufen.
Das Verfügbarmachen von Automatisierungsobjekten können Clients, um bestimmte Vorgänge automatisieren, indem es direkt auf die Objekte zugegriffen wird und Funktionen, die auf dem Server bereitgestellt wird.erfolgt Objekte verfügbar, diese Methode ist nützlich, wenn Anwendungen Funktionen bereitstellen, die für andere Anwendungen nützlich ist.Zum Beispiel könnte ein Textverarbeitungsprogramm verfügbar gemacht haben die Rechtschreibprüfung für andere Programme, die sie verwenden können.machen von Objekten ermöglicht deshalb Anbieter, um die Funktionalität ihrer Anwendungen verbessern, indem sie die fertige Funktionalität anderer Anwendungen verwendet werden.
Diese Automatisierungsobjekte verfügen über Eigenschaften und Methoden als ihre externen Schnittstelle.Eigenschaften sind benannte Attribute des Automatisierungsobjekts.Eigenschaften sind z. B. die Datenmember von eine C++-Klasse.Methoden sind Funktionen, die auf Automatisierungsobjekten arbeiten.Methoden sind z. B. die Funktionen des öffentlichen Members von eine C++-Klasse.
Hinweis |
---|
Obwohl Eigenschaften wie C++-Datenmember sind, sind sie nicht direkt zugegriffen werden.Um transparenten Zugriff zu ermöglichen, installieren Sie eine interne Variable im Automatisierungsobjekt mit einem Paar von abrufen/Funktionen des festgelegten Members um sie zuzugreifen. |
Durch das Verfügbarmachen der Anwendungsfunktionalität über eine gemeinsame, klar definierte Schnittstelle, die Automatisierung, ist es möglich, Anwendungen in einer allgemeinen Programmiersprache wie Microsoft Visual Basic anstatt in der verschiedenen anwendungsspezifische Makrosprachen zu erstellen.
Unterstützung für Automatisierungsserver
Visual C++ und das MFC-Framework bieten umfassende Unterstützung für Automatisierungsserver.Behandeln Sie der Mehraufwand, wenn sie einen Automatisierungsserver beteiligt ist, erstellt. Daher können Sie die Aufwände auf der Funktionalität der Anwendung konzentrieren.
Der Prinzipal Mechanismus des Frameworks für die Unterstützung von Automatisierung ist die Dispatchzuordnung, ein Satz von Makros, die in die Deklarationen und die Aufrufe erstreckt, die benötigt werden, um Methoden und Eigenschaften für OLE verfügbar zu machen.Eine typische Dispatchzuordnung sieht wie folgt aus:
BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()
Die Vorlage in der Klassenansicht Eigenschaftenfenster- und Verwalten von dispatchzuordnungen.Wenn Sie eine neue Methode oder Eigenschaft einer Klasse hinzufügen, fügt Visual C++ entsprechendes DISP_FUNCTION oder ein DISP_PROPERTY Makro mit den Parametern hinzu, die den Klassennamen angeben, externe und interne Namen der Methode oder der Eigenschaft und Datentypen.
Das Dialogfeld Klasse hinzufügen vereinfacht zudem die Deklaration von Automatisierungsklassen und die Verwaltung ihrer Eigenschaften und Operationen.Wenn Sie das Dialogfeld Klasse hinzufügen verwenden, um dem Projekt eine Klasse hinzuzufügen, geben Sie deren Basisklasse auf.Wenn die Basisklasse ermöglicht die Automatisierung dialogfeld-Anzeigesteuerungen Klasse hinzufügen, die Sie verwenden, um anzugeben, ob die neue Klasse Automatisierung, ob es "erstellbares OLE" ist (das heißt ob Objekte der Klasse für eine Anforderung durch einen COM-Client erstellt werden können) und externen Namen unterstützen soll, sodass der COM-Client verwendet.
Das Dialogfeld Klasse hinzufügen erstellt anschließend eine Klassendeklaration, einschließlich der entsprechenden Makros für die OLE-Funktionen, die Sie angegeben haben.Außerdem wird das Codeskelett für die Implementierung der Memberfunktion der Klasse hinzu.
Der MFC-Anwendungs-Assistent vereinfacht die Schritte, die wenn er die Automatisierungsserver-Anwendung vom niedrigsten Wert beteiligt sind, abgerufen werden soll.Wenn Sie das Kontrollkästchen Automatisierung aus der Seite Erweiterte Funktionen auswählen, fügt der MFC-Anwendungs-Assistent InitInstance-Funktion der Anwendung hinzu, die Aufrufe, um die Automatisierungsobjekte zu registrieren und Ihrer Anwendung als Automatisierungsserver ausgeführt werden müssen.