COM-Clients erstellen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu COM-Clients erstellen - Index


COM-Clients sind Anwendungen, die ein COM-Objekt nutzen, das von einer anderen Anwendung implementiert wurde. Die häufigsten Typen sind Anwendungen, die einen Automatisierungs-Server (Automatisierungs-Controller) steuern, sowie Anwendungen, die als Host eines ActiveX-Steuerelements fungieren (ActiveX-Container).

Auf den ersten Blick sind diese beiden Typen von COM-Clients sehr unterschiedlich: Der typische Automatisierungs-Controller startet eine externe Server-EXE und gibt Befehle aus, damit der Server Aufgaben in seinem Auftrag ausführt. Der Automatisierungsserver ist in der Regel nicht visuell und out-of-process. Der typische ActiveX-Client auf der anderen Seite dient als Host eines visuellen Steuerelements und verwendet es weitgehend wie ein beliebiges Steuerelement auf der Tool-Palette. ActiveX-Server sind immer In-Process-Server.

Jedoch ist die Erstellung dieser beiden Arten von COM-Clients verblüffend ähnlich: Die Client-Anwendung ruft eine Schnittstelle für das Server-Objekt ab und verwendet seine Eigenschaften und Methoden. RAD Studio macht diesen Vorgang besonders einfach, indem Sie die Server-CoClass in eine Komponente auf dem Client kapseln können, die Sie dann sogar in der Tool-Palette installieren können.

Beim Erstellen eines COM-Clients benötigen Sie Kenntnisse über die Schnittstelle, die der Server den Clients zur Verfügung stellt, sowie über die Eigenschaften und Methoden einer Komponente aus der Tool-Palette, um Sie in Ihrer Anwendung verwenden zu können. Diese Schnittstelle (oder diese Schnittstellenmenge) wird von der Serveranwendung bestimmt und in der Regel in einer Typbibliothek veröffentlicht. Spezifische Informationen zu den veröffentlichten Schnittstellen einer Server-Anwendung finden Sie in der Dokumentation der betreffenden Anwendung.

Selbst wenn Sie ein Server-Objekt nicht in einem Komponenten-Wrapper kapseln und in der Komponentenpalette installieren, müssen Sie diese Interface-Definition Ihrer Anwendung zur Verfügung stellen. Dazu können Sie die Typinformationen des Servers importieren.

Sobald Sie die Typinformationen importiert haben, können Sie Code zur Steuerung des importierten Objekts erstellen

Hinweis: Sie können Typinformationen auch direkt mit Hilfe von COM APIs abfragen, jedoch bietet RAD Studio keine spezielle Unterstützung dafür.

Einige ältere COM-Technologien, z.B. OLE (Object Linking und Embedding) liefern keine Typinformationen in einer Typbibliothek. Stattdessen benötigen Sie einen Standardsatz aus vordefinierten Schnittstellen. Diese werden unter Clients für Server erstellen, die über keine Typbibliothek verfügen beschrieben.

Siehe auch