Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Automatisierung (früher als OLE-Automatisierung bezeichnet) ermöglicht es einer Anwendung, Objekte zu bearbeiten, die in einer anderen Anwendung implementiert sind, oder Objekte verfügbar zu machen, damit sie bearbeitet werden können.
Ein Automatisierungsserver ist eine Anwendung (eine Art von COM-Server), die ihre Funktionalität über COM-Schnittstellen für andere Anwendungen verfügbar macht, die als Automatisierungsclients bezeichnet werden. Mit der Belichtung können Automatisierungsclients bestimmte Funktionen automatisieren, indem sie direkt auf Objekte zugreifen und die von ihnen bereitgestellten Dienste verwenden.
Automatisierungsserver und -clients verwenden COM-Schnittstellen, die immer von IDispatch
diesen abgeleitet werden, und geben einen bestimmten Satz von Datentypen zurück, die als Automatisierungstypen bezeichnet werden. Sie können jedes Objekt automatisieren, das eine Automatisierungsschnittstelle verfügbar macht und Methoden und Eigenschaften bereitstellt, auf die Sie von anderen Anwendungen zugreifen können. Die Automatisierung ist sowohl für OLE- als auch FÜR COM-Objekte verfügbar. Das automatisierte Objekt kann lokal oder remote sein (auf einem anderen Computer, auf den über ein Netzwerk zugegriffen werden kann); Daher gibt es zwei Kategorien von Automatisierung:
Automatisierung (lokal).
Remoteautomatisierung (über ein Netzwerk, mithilfe von Distributed COM oder DCOM).
Das Verfügbarmachen von Objekten ist von Vorteil, wenn Anwendungen Funktionen für andere Anwendungen bereitstellen. Ein ActiveX-Steuerelement ist z. B. ein Automatisierungsservertyp. Die Anwendung, die das ActiveX-Steuerelement hosten, ist der Automatisierungsclient dieses Steuerelements.
Als weiteres Beispiel kann ein Textverarbeitungsprogramm seine Rechtschreibprüfungsfunktionen anderen Programmen zur Verfügung stellen. Durch die Belichtung von Objekten können Anbieter ihre Anwendungen mithilfe der vorgefertigten Funktionalität anderer Anwendungen verbessern. Auf diese Weise wendet die Automatisierung einige der Prinzipien der objektorientierten Programmierung an, z. B. Wiederverwendbarkeit und Kapselung, auf der Ebene der Anwendungen selbst.
Wichtiger ist die Unterstützungsautomatisierung für Benutzer und Lösungsanbieter. Durch die Bereitstellung von Anwendungsfunktionen über eine gängige, gut definierte Schnittstelle ermöglicht die Automatisierung das Erstellen umfassender Lösungen in einer einzigen allgemeinen Programmiersprache, z. B. Microsoft Visual Basic, anstelle verschiedener anwendungsspezifischer Makrosprachen.
Viele kommerzielle Anwendungen, z. B. Microsoft Excel und Microsoft Visual C++, ermöglichen es Ihnen, einen Großteil ihrer Funktionen zu automatisieren. In Visual C++ können Sie beispielsweise VBScript-Makros schreiben, um Builds, Aspekte der Codebearbeitung oder Debuggingaufgaben zu automatisieren.
Übergeben von Parametern in der Automatisierung
Eine Schwierigkeit beim Erstellen von Automatisierungsmethoden ist die Bereitstellung eines einheitlichen "sicheren" Mechanismus zum Übergeben von Daten zwischen Automatisierungsservern und Clients. Automatisierung verwendet den VARIANT-Typ , um Daten zu übergeben. Der VARIANT-Typ ist eine markierte Vereinigung. Es verfügt über ein Datenelement für den Wert (dies ist eine anonyme C++-Union) und ein Datenmitglied, das den Typ der in der Union gespeicherten Informationen angibt. Der VARIANT-Typ unterstützt eine Reihe von Standarddatentypen: 2- und 4-Byte-Ganzzahlen, 4- und 8-Byte-Gleitkommazahlen, Zeichenfolgen und boolesche Werte. Darüber hinaus unterstützt es die HRESULT-Typen (OLE-Fehlercodes), CURRENCY (ein numerischer Festkommatyp) und DATE (absolute Datums- und Uhrzeittypen) sowie Zeiger und IUnknown
IDispatch
Schnittstellen.
Der VARIANT-Typ wird in der COleVariant-Klasse gekapselt. Die unterstützenden CURRENCY - und DATE-Klassen werden in den Klassen COleCurrency und COleDateTime gekapselt.
Automatisierungsbeispiele
AUTOCLIK Verwenden Sie dieses Beispiel, um Automatisierungstechniken und als Grundlage für das Erlernen der Remoteautomatisierung zu erlernen.
ACDUAL Fügt einer Automatisierungsserveranwendung duale Schnittstellen hinzu.
CALCDRIV Automatisierungsclientanwendung, die MFCCALC unterstützt.
INPROC Veranschaulicht eine In-Process Automatisierungsserveranwendung.
IPDRIVE Automatisierungsclientanwendung, die INPROC vorantreibt.
MFCCALC Veranschaulicht eine Automatisierungsclientanwendung.