Entwickeln von Anwendungen mit ActiveX-Automatisierung

ActiveX-Automatisierung ist eine von Microsoft® entwickelte Technologie und basiert auf der COM-Architektur (Component Object Model). Sie können sie zur Erweiterung von AutoCAD-basierten Produkten, zur gemeinsamen Verwendung Ihrer Zeichnungsdaten mit anderen Anwendungen und zum Automatisieren von Aufgaben verwenden.

Sie können Zeichnungsobjekte mithilfe jeder Anwendung erstellen und bearbeiten, die als Automatisierungs-Controller dient. Dadurch ermöglicht die Automatisierung die Makro-Programmierung über Anwendungen hinweg. Diese Möglichkeit bietet AutoLISP nicht.

Anmerkung: ActiveX wird nicht unterstützt für AutoCAD LT oder unter Mac OS.

Die Implementierung einer ActiveX-Schnittstelle für das Programm bietet die folgenden Vorteile:

Sie möchten beispielsweise eine Benutzereingabe erzwingen, Benutzereinstellungen festlegen, einen Auswahlsatz erstellen oder Zeichnungsdaten abrufen. Sie können je nach Art der Bearbeitung entscheiden, welchen Controller Sie verwenden möchten.

Die angezeigten Objekte werden als Automatisierungs-Objekte bezeichnet. Automatisierungs-Objekte machen Methoden, Eigenschaften und Ereignisse verfügbar. Methoden sind Funktionen, die eine Aktion an einem Objekt ausführen. Eigenschaften sind Funktionen, die Informationen über den Status eines Objekts festlegen oder zurückgeben. Ereignisse sind von Benutzern initiierte Aktionen oder Gegebenheiten, auf die ein Programm reagiert.

So gut wie jede Art von Anwendung kann auf die angezeigten Automatisierungs-Objekte in AutoCAD zugreifen. Bei diesen Anwendungen kann es sich um unabhängig ausführbare Anwendungen, Dynamic Link Library (DLL)-Dateien und Makros in einer Anwendung wie Microsoft Word oder Microsoft Excel handeln. Die gängigsten Dateien sind wahrscheinlich eigenständige ausführbare Dateien. Wenn Sie Anwendungen von Dritten verwenden, befolgen Sie die Anweisungen dieser Drittanbieter zur Installation und Verwendung des Produkts.

Definieren eines externen Befehls zum Starten der Anwendung

Verwenden Sie die Datei acad.pgp zum Definieren eines Befehls, der einen externen Befehl ausführt, um eine eigenständige Anwendung zu starten; ähnlich wie bei Befehlsaliasnamen, die zum Starten eines Befehls verwendet werden können.

Im folgenden Beispiel wird der Befehl RUNAPP1 definiert, der die Datei app1.exe aus dem Verzeichnis c:\vbapps\ ausführt. (Fügen Sie dem Abschnitt mit den externen Befehlen in der Datei acad.pgp diesen Code hinzu.)

RUNAPP1, start c:\vbapps\app1, 0

Wenn Ihre Anwendung Befehlszeilenparameter erfordert, verwenden Sie folgenden Code:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

In diesem Beispiel wird der Befehl RUNAPP2 definiert, der Sie zur Eingabe von Parametern auffordert und diese an die Anwendung weiterleitet.

Sie können auch die AutoLISP-Funktion startapp verwenden, um eine Anwendung zu starten, die die Automatisierung verwendet. Sobald AutoLISP die externe Anwendung startet, kann es deren Aktionen nicht mehr steuern. Sie können AutoLISP jedoch verwenden, um verschiedene, auf bestimmten Parametern basierende Anwendungen zu suchen und auszuführen.

Starten einer Anwendung über die Benutzeroberfläche

Nach dem Definieren eines externen Befehls, um eine eigenständige Anwendung zu starten, können Sie diesen Befehl über ein Benutzeroberflächenelement als Teil eines Befehlsmakros verwenden.

Wenn Sie nur eine oder zwei Anwendungen verwenden, können Sie diese einer der Standard-Multifunktionsleisten-Gruppen oder dem Schnellzugriffs-Werkzeugkasten hinzufügen. Wenn Sie eine Gruppe von Anwendungen verwenden, können Sie eigene Multifunktionsleisten-Gruppen definieren, die speziell für diese Anwendungen gelten.