Freigeben über


Automatisierung

Die Automatisierungsserver (früher bekannt als OLE-Automatisierung) ermöglicht es, dass eine Anwendung bearbeitet die Objekte, die in einer anderen Anwendung implementiert werden oder Objekte damit sie bearbeitet werden kann verfügbar macht.

Automatisierungsserver ist eine Anwendung (ein Typ von COM-Server) diese macht die Funktionalität über COM-Schnittstellen in anderen Anwendungen aufgerufen, Automatisierungsclients. Die Art können Automatisierungsclients, um bestimmte Funktionen zu automatisieren, indem sie direkt auf Objekte zugreift und Dienste verwendet, die sie bereitstellen.

Automatisierungsserver und Clients verwenden COM-Schnittstellen, die immer von IDispatch abgeleitet werden und nehmen und geben die Typen eines bestimmten Satzes Daten zurück, die Automationtypen aufgerufen werden. Sie können jedes Objekt automatisieren, das eine Automatisierungsschnittstelle verfügbar macht und Methoden und Eigenschaften bereitstellt, die von anderen Anwendungen zugreifen können. Automatisierung ist für OLE und COM-Objekte verfügbar. Das automatisierte Objekt kann lokal oder remote) (auf einem anderen Computer aus zugreifen zu einem Netzwerk); Daher gibt es zwei Kategorien Automatisierung:

  • Automatisierungsserver (lokale Variablen).

  • Remote- Automatisierung (über ein Netzwerk, mit verteilten COM oder DCOM).

Objekte verfügbar gemacht ist hilfreich, wenn Anwendungen die Funktionen bereitstellen, die mit anderen Anwendungen nützlich. Ein ActiveX-Steuerelement ein Automatisierungsserver Typ; die Anwendung, die das ActiveX-Steuerelement hostet, ist der Automatisierungsclient dieses Steuerelements.

Ein weiteres Beispiel Ausgabe ein Textverarbeitungsprogramm möglicherweise seine Rechtschreibprüfungsfunktionalität andere Programme aus. Belichtung von Objekten können Anbieter, um ihre Anwendungen, indem die fertige Funktionalität anderer Anwendungen. Auf diese Weise übernimmt Automatisierung einige der Prinzipien der objektorientierten Programmierung, z Wiederverwendbarkeit und Kapselung, auf der Ebene von Anwendungen selbst.

Ist die Unterstützung wichtiger, die Automatisierung Benutzern und Projektmappenanbietern bietet. Durch das Verfügbarmachen der Anwendungsfunktionalität durch eine allgemeine, gut definierte Schnittstelle, Automatisierung, ist es möglich, umfassende Projektmappen in einem einzelnen allgemeinen Programmiersprache, wie Microsoft Visual Basic, nicht in der anderen anwendungsspezifischen Makrosprachen zu erstellen.

Viele kommerziellen Anwendungen, wie Microsoft Excel und Microsoft Visual C++, können Sie, um einen Großteil ihrer Funktionalität zu automatisieren. Wenn beispielsweise in Visual C++, können Sie VBScript-Makros schreiben, um Builds, Aspekte der Codebearbeitung Debuggeraufgaben oder zu automatisieren.

Übergeben von Parametern in der Automatisierung

Eine Schwierigkeit, wenn sie Automatisierungsmethoden erstellt, dabei, einen einheitlichen "Writing" Mechanismus bereitstellen, um Daten zwischen Automatisierungsserver und Clients zu übergeben. Automatisierung verwendet den Typ VARIANT, um Daten zu übermitteln. Der VARIANT-Typ ist eine markierte Union. Er hat einen Datenmember für den Wert (dies ist eine anonyme C++-Union) und ein Datenmember, der den Typ von Informationen gespeichert in Union angibt. Der VARIANT-Typ unterstützt mehrere Standarddatentypen: 2 -and-4-Byte-Ganzzahlen, 4 -and-8-Byte-Gleitkommawert-Zahlen, Zeichenfolgen und boolesche Werte. Außerdem unterstützt es HRESULT (OLE-Fehlercodes), WÄHRUNG (ein Festkommanumerischer typ) und Typen DATUM (absolute Datum und Uhrzeit) sowie Zeiger auf IUnknown und IDispatch-Schnittstellen.

Der VARIANT-Typ wird in der COleVariant-Klasse gekapselt. Unterstützende WÄHRUNG und die DATUM-Klassen werden in COleCurrency und COleDateTime-Klassen gekapselt.

Automatisierungs-Beispiele

  • Das AUTOCLIK-Beispiel Mit diesem Beispiel, Automatisierungstechniken und als Grundlage dazu zum Erlernen den Automatisierung.

  • ACDual fügt duale Schnittstellen einer Automatisierungsserveranwendung hinzu.

  • CALCDRIV Automatisierungsclientanwendung, die steuert MFCCALC.

  • INPROC zeigt eine prozessinterne Automatisierungsserveranwendung.

  • IPDRIVE Automatisierungsclientanwendung, die INPROC steuert.

  • MFCCALC zeigt eine Automatisierungsclientanwendung.

Worüber möchten Sie mehr erfahren?

Was möchten Sie tun?

Siehe auch

Konzepte

MFC COM