COM-Clients

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Elemente einer COM-Anwendung


Clients können immer die Schnittstellen eines COM-Objekts abfragen, um zu prüfen, welche Fähigkeiten das Objekt besitzt. Alle COM-Objekte erlauben einem Client, bekannte Schnittstellen abzurufen. Zusätzlich können Clients den Server nach den von der Schnittstelle bereitgestellten Methoden fragen, sofern der Server das Interface IDispatch unterstützt. Den Server-Objekten ist es gleichgültig, welcher Client die Objekte benutzt. Entsprechend gleichgültig ist es den Clients, wie oder wo ein Objekt Dienste verfügbar macht; sie vertrauen einfach darauf, dass Server-Objekte die Dienste bereitstellen, die sie über ihre Schnittstellen anbieten.

Es gibt zwei Typen von COM-Clients: Controller und Container. Controller starten den Server und kommunizieren mit ihm über seine Schnittstelle. Sie fordern Dienste vom COM-Objekt an oder benutzen es als separaten Prozess. Container hingegen enthalten visuelle Steuerelemente oder Objekte, die in der Benutzeroberfläche des Containers sichtbar sind, und verwenden vordefinierte Schnittstellen, über die sie Einzelheiten der Darstellung mit Server-Objekten aushandeln. Container-Beziehungen über DCOM sind nicht möglich. So müssen z.B. visuelle Steuerelemente, die in der Benutzeroberfläche des Containers angezeigt werden, vor Ort lokalisiert werden. Da von ihnen erwartet wird, dass sie sich selbst zeichnen, müssen sie auf lokale GDI-Ressourcen zugreifen können.

Delphi erleichtert Ihnen die Entwicklung von COM-Clients, denn Sie haben die Möglichkeit, eine Typbibliothek oder ein ActiveX-Steuerelement in eine kapselnde Komponente (Wrapper) zu importieren, sodass Server-Objekte wie andere VCL-Komponenten aussehen. Einzelheiten zu diesem Vorgang finden Sie in unter COM-Clients erstellen.

Siehe auch