COM-Erweiterungen
Nach oben zu COM-Grundlagen - Index
COM wurde ursprünglich konzipiert, um eine Kernfunktionalität für die Kommunikation zur Verfügung zu stellen und Erweiterungsmöglichkeiten bieten. Durch die Definition spezialisierter Schnittstellen für ganz bestimmte Zwecke wurde die Kernfunktionalität von COM selbst erweitert.
Im Folgenden ist eine Reihen von Diensten aufgeführt, die derzeit von den COM-Erweiterungen zur Verfügung gestellt werden.
Unter Automatisierung wird hier die Fähigkeit einer Anwendung verstanden, Objekte in einer anderen Anwendung über die Programmierung zu steuern. Automatisierungs-Server sind Objekte, die zur Laufzeit von anderen Anwendungen programmiert werden können. | |
ActiveX-Steuerelemente sind spezialisierte In-Process-COM-Server, die in der Regel in eine Client-Anwendung eingebettet werden. Die Komponenten bieten ein definiertes Entwurfszeit- und Laufzeitverhalten sowie Ereignisse. | |
Active-Server-Seiten sind ActiveX-Komponenten, mit deren Hilfe dynamische Web-Seiten erstellt werden können. Die Skriptingsprache enthält Konstrukte für die Erstellung und Ausführung von Automatisierungsobjekten, d.h. die Active Server Page fungiert als ein Automatisierungs-Controller. | |
Objekte, welche die Konzepte Verknüpfen und Einbetten, Ziehen und Ablegen, visuelle Bearbeitung und In-Place-Aktivierung unterstützen. Word-Dokumente und Excel-Kalkulationstabellen sind Beispiele für Active-Dokumente. | |
COM+ Ereignis- und Ereignissubskriptions-Objekte |
Objekte, die das lose gepaarte COM+ Ereignismodell unterstützen. Im Gegensatz zu dem fest gepaarten Modell, das ActiveX-Steuerelemente verwenden, können Sie mit dem COM+ Ereignismodell Publisher unabhängig von Subscribern entwickeln. |
Eine Zusammenstellung statischer Datenstrukturen, die oft als Ressourcen gespeichert werden und detaillierte Typinformationen über ein Objekt und seine Schnittstellen liefern. Die Clients von Automatisierungsservern und ActiveX-Steuerelementen erwarten, dass solche Typinformationen zur Verfügung stehen. |
Die folgende Abbildung veranschaulicht die Beziehung zwischen den COM-Erweiterungen und ihrer Erstellung auf COM-Basis.
COM-Objekte können visuelle oder nicht-visuelle Objekte sein. Einige müssen im selben Prozessraum ausgeführt werden wie ihre Clients, andere können in anderen Prozessen oder auf anderen Computern laufen, vorausgesetzt, sie stellen Unterstützung für den Marshaling-Mechanismus zur Verfügung. In der folgenden Tabelle ist zusammengefasst, welche COM-Objekte Sie erstellen können, ob diese Objekte visuell sind oder nicht, in welchen Prozessräumen sie ausgeführt werden können, wie sie den Marshaling-Mechanismus zur Verfügung stellen und ob sie eine Typbibliothek benötigen.
Anforderungen für COM-Objekte:
Objekt | Visuelles Objekt? | Prozessraum | Kommunikation | Typbibliothek |
---|---|---|---|---|
Active-Dokument |
In der Regel ja |
In-Process- oder Out-of-Process-Ausführung |
OLE-Verben |
Nein |
Automatisierungs-Server |
Gelegentlich |
In-Process-, Out-of-Process- oder Remote-Ausführung |
Automatische Sequenzbildung mit Hilfe der Schnittstelle IDispatch (für Out-of-Process- und Remote-Server) |
Für automatisches Marshaling erforderlich |
ActiveX-Steuerelement |
In der Regel ja |
In-Process-Ausführung |
Automatische Sequenzbildung mit Hilfe der Schnittstelle IDispatch |
Erforderlich |
COM+ |
Gelegentlich |
In-Process-Ausführung für MTS, beliebige für COM+ |
Automatisches Marshaling über eine Typbibliothek |
Erforderlich |
Benutzerdefiniertes In-Process-Schnittstellenobjekt |
Optional |
In-Process-Ausführung |
Für In-Process-Server kein Marshaling erforderlich |
Empfohlen |
Benutzerdefiniertes Schnittstellenobjekt |
Optional |
In-Process-, Out-of-Process- oder Remote-Ausführung |
Automatisches Marshaling über eine Typbibliothek, ansonsten manuelle Sequenzbildung mit Hilfe benutzerdefinierter Schnittstellen |
Empfohlen |