Active Form- oder ActiveX-Elementexperte

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Menü Datei

Datei > Neu > Weitere > <Personality> > ActiveX > Active Form

Datei > Neu > Weitere > <Personality> > ActiveX > ActiveX-Element

  • Mit dem Active Form-Experten fügen Sie einem ActiveX-Bibliotheks-Projekt ein Active Form hinzu.
  • Mithilfe des ActiveX-Elementexperten erstellen Sie ein ActiveX-Steuerelement aus einem VCL-Steuerelement. Alle Eigenschaften, Methoden und Ereignisse des VCL-Steuerelements werden für das ActiveX-Steuerelement übernommen, das der Experte erstellt.

Hinweis: Bevor Sie ein Active Form oder ein ActiveX-Steuerelement erstellen können, müssen Sie zuerst eine ActiveX-Bibliothek anlegen. Diese beiden Experten werden in der Objektgalerie erst aktiviert, wenn Sie eine ActiveX-Bibliothek erstellt haben (durch Erstellen einer ActiveX-Bibliothek wird ein DLL-Projekt (Dynamic Link Library) angelegt, das als Host für In-Process-ActiveX-Objekte verwendet werden kann). Eine Anleitung finden Sie unter COM-Experten verwenden.


Element Beschreibung

Name der CoClass

Geben Sie den Namen des Steuerelements ein, das implementiert werden soll (also den Namen der CoClass aus der Typbibliothek). Die erzeugte Implementierungsklasse hat denselben Namen mit einem vorangestellten ‘T’.

Beschreibung

Geben Sie eine optionale Beschreibung der Komponente ein, die Sie erstellen.

Threading-Modell

Wählen Sie das Threading-Modell aus, um festzulegen, wie COM Aufrufe des Interface des Active Form oder des ActiveX-Elements serialisiert. Das gewählte Threading-Modell bestimmt, wie das Steuerelement registriert wird. Sie müssen sicherstellen, dass die Implementierung dem gewählten Modell entspricht. Der Experte legt immer Apartment als Threading-Modell fest. Dies ist kein Problem, solange Ihr ActiveX-Projekt nur ein einziges Steuerelement enthält. Wenn Sie dem Projekt jedoch weitere Steuerelemente hinzufügen, sind Sie für die Bereitstellung der Thread-Unterstützung verantwortlich.

Komponentenname

Wählen Sie aus der Dropdown-Liste die VCL-Komponente aus, die als Vorfahre für das ActiveX-Steuerelement verwendet werden soll. Bei einem Active Form ist die Komponente immer TActiveForm.

Interface

Gibt den Namen des Standard-Interface für das Steuerelement an. Standardmäßig ist dies der Name der CoClass mit vorangestelltem 'I'.

Versionsinformation hinzufügen

Sie können Versionsinformationen, wie das Copyright oder eine Dateibeschreibung, in das Steuerelement aufnehmen. Diese Informationen können in einem Browser angezeigt werden. Einige Host-Clients, z.B. Visual Basic 4.0, benötigen Versionsinformationen, oder sie nehmen das Steuerelement nicht an. Geben Sie die Versionsinformationen auf der Registerkarte Versionsinformationen des Dialogfeldes Projekt > Optionen an.


Threading-Modelle

ActiveX-Steuerelemente können die folgenden Threading-Modelle verwenden:

Modell Beschreibung

Einfach

Es kann immer nur ein Client-Thread behandelt werden. COM serialisiert zu diesem Zweck alle eingehenden Aufrufe. Im Quelltext braucht keine Thread-Unterstützung implementiert zu werden.

Apartment

Auf jedes von einem Client instantiierte Steuerelement greift immer nur ein Thread zu. Sie müssen Schutzmaßnahmen implementieren, die verhindern, dass mehrere Threads auf den globalen Speicher zugreifen. Objekte können aber sicher auf ihre eigenen Instanzdaten (Eigenschaften und Elemente) zugreifen.

Frei

Jede Steuerelementinstanz kann von mehreren Threads gleichzeitig aufgerufen werden. Sie müssen sowohl die Instanzdaten als auch den globalen Speicher schützen.

Beides

Dieses Modell entspricht dem vorhergehenden, stellt aber sicher, dass alle von Clients erstellten Callbacks in demselben Thread ausgeführt werden. Das bedeutet, dass Sie Werte, die als Parameter an Callback-Funktionen übergeben werden, nicht zu schützen brauchen.

Neutral

Mehrere Clients können das Steuerelement gleichzeitig in verschiedenen Threads aufrufen, aber COM stellt sicher, dass die Aufrufe nicht miteinander in Konflikt geraten. Sie müssen Thread-Konflikte verhindern, die globale Daten und Instanzdaten betreffen, auf die von mehreren Methoden zugegriffen wird. Dieses Modell sollte nicht bei Steuerelementen mit Benutzeroberflächen verwendet werden. Das Modell steht nur unter COM+ zur Verfügung. Es wird unter COM auf das Apartment-Modell abgebildet.


Siehe auch