Der folgende Abschnitt soll einen kleinen Einblick in die bausteinorientierte Programmierung mit ActiveX geben und kurz die beteiligten Technologien darstellen.
Eine ActiveX-Komponente stellt einen wiederverwendbaren Software-Baustein dar, der in beliebigen Anwendungen eingesetzt werden kann. Ähnlich wie bei den JavaBeans kann eine ActiveX-Komponente beliebige Funktionalität implementieren, die von einfachen Oberflächenbausteinen (wie z.B. Buttons) bis zu vollständigen Anwendungen reichen kann. Es handelt sich um COM -Objekte, die um Schnittstellen zur Kommunikation mit dem ausführenden Container erweitert wurden. Ihre Erstellung ist nicht auf eine bestimmte Programmiersprache beschränkt.
Grundsätzlich lassen sich drei Arten von ActiveX-Komponenten unterscheiden [#!appl98!#]:
Da jede ActiveX-Komponente gleichzeitig ein COM -Objekt ist, muß sie zumindest die Standardschnittstellen, die von jedem COM -Objekt implementiert werden müssen, zur Verfügung stellen. Darüber hinaus existieren einige optionale Schnittstellen, die der Kommunikation mit dem ausführenden Container dienen.
Die eigentliche Funktionalität der Komponenten kann über ihre darüber hinaus verfügbaren öffentlichen Methoden aufgerufen werden. Änderungen des Zustandes werden über sogenannte outgoing interfaces bekannt gegeben. Hierbei handelt es sich um die Beschreibung einer Schnittstelle, die von der jeweiligen Komponente aufgerufen werden kann, sofern sie von einer anderen Komponente implementiert wird. Somit steht auch hier eine Möglichkeit zur Verfügung, ereignisbasierte Kommunikation zwischen den Komponenten zu realisieren.
Die an den Schnittstellen angebotenen Methoden können mit Hilfe generischer COM -Mechanismen erfragt werden oder können in einer sogenannten type library explizit beschrieben werden.
Die Anpassung von ActiveX-Komponenten an die Gegebenheiten einer bestimmten Anwendung erfolgt über das Setzen von öffentlichen Attributen. Hierzu müssen wiederum Methoden zur Verfügung gestellt werden, die sowohl ein Auslesen der Attributwerte als auch deren Veränderung gestatten.
Die Verknüpfung einzelner Bausteine zu einer lauffähigen Anwendung kann mit jeder beliebigen Programmiersprache, die COM unterstützt, erfolgen. Dem bei den JavaBeans bereits umgesetzten Gedanken der visuellen Programmierung, also der automatischen Generierung der Verknüpfung von Bausteinen durch die Entwicklungsumgebung , sehr nahe kommt z.B. die Verknüpfung mit Hilfe von Visual Basic .
Visual Basic gestattet es, Komponenten auf einem sogenannten Form zu platzieren und die Verknüpfung der Komponenten durch die Ausprogrammierung sogenannter Event-Prozeduren zu realisieren. Dies bedeutet, daß die Entwicklungsumgebung dem Anwendungsentwickler die von einer Komponente angebotenen Events präsentiert, so daß dieser das gewünschte daraus auswählen kann. Daraufhin wird ein einfaches Gerüst einer Prozedur erzeugt, die bei Eintreten des Events aufgerufen wird. Diese ist nun vom Anwendungsentwickler geeignet zu programmieren und kann insbesondere den einfachen Aufruf einer Methode einer anderen Komponente enthalten.
Das in Abbildung dargestellte, sehr einfache Beispiel
verdeutlicht dies nochmals. Es stellt eine Prozedur dar, die
aufgerufen wird, wenn die Komponente mit dem Namen Button1
angeklickt wird. Der Rumpf der Prozedur wurde automatisch mit Hilfe
von Visual Basic erzeugt. Vom Anwendungsentwickler ist der
Aufruf der Methode Move des Objektes ObjectXY eingefügt
worden.