AutoLISP Code

Der AutoLISP-Quellcode wird typischerweise in einer Entwicklungsumgebung geschrieben, beispielsweise im Visual LISP-Editor, der mit AutoCAD standardmäßig mit ausgeliefert wird. Die Arbeit in der AutoLISP Entwicklungsumgebung nimmt den größten Teil der Entwicklung OpenDCL-Applikation ein, denn hier werden die AutoLISP-Funktionen mit Leben gefüllt, die Dialoge und Steuerelemente steuern und auf Ereignisse reagieren. Das OpenDCL Studio verfügt über eine Reihe von verschiedenen Werkzeugen, die den AutoLISP-Entwicklern im Umgang mit der AutoLISP-Komponente von OpenDCL unterstützen.

Der Steuerelemente-Browser im OpenDCL Studio zeigt eine kontextsensitive Hilfe aller unterstützten Eigenschaften, Methoden und Ereignisse des ausgewählten Steuerelements. Außerdem vereinfacht der Steuerelemente-Browser das Kopieren der gewünschten Funktion in die Zwischenablage von Windows, um sie direkt im AutoLISP-Quellcode einzufügen und so Schreibfehler zu vermeiden.

Ein Doppelklick auf das Steuerelement im Arbeitsbereich von OpenDCL Studio öffnet den Steuerelemente-Browser. Klicken Sie eine Eigenschaft, Methode oder Ereignis in der Liste an, erscheint die Syntax und die Referenz in der kontextsensitiven Hilfe. Klicken Sie daraufhin die Schaltfläche "In die Zwischenablage kopieren" (), wird der beispielhafte Ausdruck in die Zwischenablage kopiert.

Der Umgang mit Ereignissen gehört zu den wichtigsten Aufgaben im AutoLISP-Quellcode einer OpenDCL-Applikation, deshalb wurde der Implementierungsprozess so weit wie möglich optimiert. Das Eigenschaftsfenster listet in der Karteikarte Ereignisse alle Ereignisse des gewählten Steuerelements auf. Das aktivierte Ereignis wird mit einem Haken im entsprechenden Kontrollkästchen hervorgehoben. Der dazugehörige Funktionsname wird automatisch im Eingabefeld unter der Liste der Ereignisse eingetragen. Durch Drücken der Schaltfläche Kopieren unterhalb des Textfelds wird die Grundstruktur einer Ereignisfunktion mit allen Argumenten in die Zwischenablage kopiert, die zunächst einen einfachen Warndialog anzeigt, der darauf hinweist, dass diese Funktion noch nicht mit sinnvollem Inhalt gefüllt ist. Sie können aber auch nur den Kopfbereich der Ereignisfunktion in die Zwischenablage kopieren und manuell im Quellcode einfügen.

Die einzelnen Ereignisse können durch Aktivieren der entsprechenden Kontrollkästchen in der Liste der Ereignisse aktiviert werden. Durch das Aktivieren eines Ereignisses kann auf zwei zusätzlichen Wegen die Grundstruktur der Ereignisfunktion in den AutoLISP-Quellcode überführt werden. Die Schaltfläche Kopieren kopiert wie bereits bekannt die Ereignisfunktion in die Zwischenablage, um sie manuell im Quellcode einzufügen. Die Schaltfläche AutoLISP fügt die Ereignisfunktion am Ende einer AutoLISP-Datei ein. Die Schaltfläche Kopieren wird nur angezeigt, wenn die Option "Ereignisse in die Zwischenablage kopieren" im Menü Extras von OpenDCL Studio aktiviert ist. Die Schaltfläche AutoLISP wird nur angezeigt, wenn im Projektfenster des aktuellen Projekts eine AutoLISP-Datei zugeordnet und die Option "Ereignisse in die AutoLISP-Datei schreiben" im Menü Extras von OpenDCL Studio aktiviert ist.

Hinweise zum Quellcodestil

Die gute fachliche Praxis für den AutoLISP-Quellcode, der einen OpenDCL-Dialog anzeigt berücksichtigt auch, dass zumindest die Ereignisfunktionen der nichtmodalen Dialoge stets global definiert sind und die OpenDCL-Laufzeitumgebung geladen wird, bevor irgendeine OpenDCL-Funktion geladen bzw. aufgerufen wird. Eindeutige Projektnamen (idealerweise mit einem herstellerabhängigen Präfix) stellen sicher, dass Überschneidungen mit anderen Applikationen vermieden werden. Die konsequente Anwendung einer Konvention zur Bezeichnung von Steuerelementen optmiert die Projektorganisation und Pflege des Quellcodes. Die Anwendung der ungarischen Notation und ihrer Adaption auf OpenDCL-Steuerelemente, z.B. durch Verwenden eines 2- bis 3-stelligen Präfix für die Art des Steuerelements ergänzt um die zugrundeliegende Funktion, ist eine allgemein angewandte Technik und macht den Quellcode lesbar (z.B. "btnOk" oder "pbAccept" für eine OK-Schaltfläche).

Es wird für derartige Applikationen empfohlen, pro Dialog eine AutoLISP-Datei zu verwenden. In dieser steht die Hauptfunktion an erster Stelle, gefolgt von den unterstützenden Dienstprogrammen und den Ereignisfunktionen am Ende.