Internet Einstieg




Kategorien

Auto/Verkehr
Computer
Essen/Trinken
Gesundheit
Hobby/Spiele
Internet
Kunst und Kultur
Politik/Gesellschaft
Reisen/Touristik
Sport
Technik
Telekommunikation
Tiere
Umwelt und Natur
Wirtschaft/Finanzen
Wissenschaften


Suche


Das Component Object Model (COM)

Das Component Object Model (COM)

Wenn eine .NET-Software auf Anwendungen bzw. Objekte zugreifen will, die nicht innerhalb des .NET Frameworks programmiert wurden (z.B. die MS Office Anwendungen), werden Technologien aus der DNA-Architektur benötigt. Die COM-Technologie (Component Object Model) wurde für diese Interaktion von Komponenten der Windows DNA-Welt konzipiert, indem sie einheitliche Definitionen für Schnittstellen, Datentypen und die Kommunikation dieser Komponenten zur Verfügung stellt. Mit der Einführung von COM-Komponenten ermöglicht MS das Anbieten von Funktionalität einer Applikation an beispielsweise Skript- bzw. Makrosprachen wie VBA (Visual Basic for Applications).

Mit Hilfe von Automatisierung, die Bestandteil der COM-Technologie ist, können integrierte Office-Lösungen erstellt werden. Die Automatisierung ermöglicht das Steuern von Anwendungen, deren Funktionalität über definierte Schnittstellen nach Außen zur Verfügung gestellt wird.

Im Zusammenhang mit Automatisierung und Programmierung von MS Office-Programmen spielt der Begriff ActiveX eine wichtige Rolle. ActiveX-Steuerelemente stellen wieder verwendbare Softwarekomponenten dar, die auf der COM-Technologie basieren und als Bezeichnung für automatisierbare COM-Objekte benutzt werden. Sie sind also nichts anderes als steuerbare COM-Objekte, die entweder als ausführbare Programme (Exe-Dateien) oder Klassenbibliotheken (DLL-Dateien) vorliegen. Heute ist die gesamte Funktionalität der Office-Applikationen in ActiveX-Komponenten gekapselt, die mit jeder COM-fähigen Programmiersprache ferngesteuert werden können.

Für die Verwendung bzw. Automatisierung dieser Anwendungen aus einem .NET-Objekt heraus ist es nötig, dass .NET-Code eine Schnittstelle zu dem entsprechenden COM-Objekt herstellen kann. Obwohl sowohl COM als auch .NET Technologien von Microsoft sind, ist ein Zusammenspiel bzw. eine Kommunikation (Interoperabilität) zwischen COM-basierten Code und verwaltetem Code oftmals schwierig, vor allem wenn komplexe Typen im Einsatz sind. Der Schlüssel für die Verwendung von COM-Objekten in .NET-Code liegt in den Klassen System.Runtime.InteropServices der CLR. Diese Klassen ermöglichen, dass verwalteter Code COM-basierten Code als verwaltete Typen zu sehen bekommt. Hier stellt das .NET-Framework einen so genannten Runtime Callable Wrapper zur Verfügung, der das Aufrufen und Zugreifen auf ein COM-Objekt erlaubt.

COM Wrapping

Für das Aufrufen der Funktionen bzw. Eigenschaften von Office-Anwendungen muss eine sog. Interop-Assembly aufgerufen werden. Diese bildet die oben beschriebene Wrapper-Klasse, die es verwaltetem Code ermöglicht, mit dem COM-Objektmodell einer Office-Anwendung zu interagieren. Enthält die Interop-Assembly die offizielle Beschreibung der COM-Typen, wie sie vom Herausgeber der Typbibliothek festgelegt wurde, so spricht man von einer primären Interop-Assembly. Damit kann eine .NET-Anwendung, die Zugriff auf das COM-Objekt von Word hat, sämtliche Methoden und Eigenschaften von MS Word aufrufen bzw. beeinflussen.



Die besten Artikel


Die neuesten Artikel


Partner: Geld verdienen - Tarif Vergleich
SEO by abbu.de