COM-Objekt-Experte

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Menü "Datei"

File > New > Other > ActiveX > COM Object

Mithilfe des COM-Objekt-Experten können Sie einfache COM-Objekte wie beispielsweise eine Shell-Erweiterung erstellen. Sie müssen jedoch zuvor das Projekt für eine Anwendung bzw. ActiveX-Bibliothek erstellen oder öffnen. Je nach Bedarf, kann das Projekt entweder eine VCL-Anwendung oder eine ActiveX-Bibliothek sein.

Element Beschreibung

Name der CoClass

Geben Sie hier den Namen der Klasse an, deren Eigenschaften und Methoden den Client-Anwendungen zur Verfügung gestellt werden sollen (also den Namen der CoClass). Dem Namen der Implementierungsklasse wird automatisch ein T vorangestellt.

Beschreibung

Geben Sie eine Beschreibung für das COM-Objekt ein.

Threading-Modell

Wählen Sie das Threading-Modell, um anzugeben, wie Client-Anwendungen Ihr COM-Objekt-Interface aufrufen können. Das gewählte Threading-Modell bestimmt, wie das Objekt registriert wird. Sie müssen sicherstellen, dass die Objektimplementierung dem gewählten Modell entspricht.

Instantiierung

Geben Sie den Instantiierungs-Modus an, der festlegt, wie Ihr COM-Objekt gestartet wird. Wenn Sie das COM-Objekt als prozessinternen Server verwenden, wird diese Option ignoriert.

Interface

Geben Sie hier den Namen des Standard-Interface für das COM-Objekt an. Standardmäßig ist dies der Name der CoClass mit vorangestelltem I. Wenn Sie das Standard-Interface übernehmen, erhalten die Objekte ein neues Interface, das von IUnknown abgeleitet ist. Sie können das Interface dann mit dem Typbibliothekseditor definieren. Um den Standardnamen zu ändern, geben Sie einen neuen Namen in das Textfeld ein. Anstatt ein neues Interface zu implementieren, können Sie auch festlegen, dass das Objekt ein duales oder benutzerdefiniertes Interface aus einer im System registrierten Typbibliothek implementiert. Um dieses Interface auszuwählen, klicken Sie auf die Ellipsen-Schaltfläche. Dadurch wird der Experte für Interface-Auswahl geöffnet. Das Laden des Experten dauert einige Zeit, da er alle Interfaces ausfindig machen muss, die in den im System registrierten Typbibliotheken definiert sind. Beachten Sie, dass Sie den Experten verwenden müssen, um ein vorhandenes Interface zu implementieren. Wenn Sie den Namen eines vorhandenen Interface eingeben, geht der Experte davon aus, dass sie dem Objekt nur einen anderen Namen zuweisen wollen.

Typbibliothek einschließen

(Nur Delphi) Aktivieren Sie diese Option, um eine Typbibliothek für das Objekt zu generieren. Mithilfe dieser Typbibliothek können Client-Anwendungen Informationen über Objekt-Interfaces und deren Eigenschaften und Methoden abrufen. Wenn Sie diese Option nicht auswählen, fügt der Delphi-Compiler Ihrem Projektquelltext {$ *.tlb} nicht hinzu, und die erzeugte .tlb-Datei wird nicht mit Ihrem Projekt gelinkt.

Interface als Ole-Automatisierung

Aktivieren Sie diese Option, um ein Typbibliothek-Marshaling zu ermöglichen. Sie brauchen dann keine eigene Proxy-Stub-DLL für benutzerdefiniertes Marshaling zu erstellen. Bei dieser Option müssen Sie sicherstellen, dass das Interface Typen verwendet, die mit der OLE-Automatisierung kompatibel sind.

Existierendes Interface implementieren

Wenn Sie ein vorhandenes, auf Ihrem System registriertes Interface implementieren möchten, klicken Sie auf [...] und wählen im Dialogfeld Experte für Interface-Auswahl ein entsprechendes Interface aus. Nachdem Sie ein Interface ausgewählt haben, ist das Kontrollkästchen Existierendes Interface implementieren markiert. Wenn der Experte den Quelltext für die CoClass erzeugt, implementiert er das ausgewählte Interface.

Ereignisunterstützung generieren

Mithilfe dieser Option kann ein eigenes Interface für die Verwaltung der Ereignisse des Automatisierungsobjekts implementiert werden. Dieses Interface hat den Namen ICoClassNameEvents und definiert die Ereignisbehandlungsroutinen, die vom Client implementiert werden müssen. Das Interface wird nicht von der Anwendung implementiert.

Siehe auch