Das ist nun also schon die dritte Website zum Thema AutoLisp in
AutoCAD - die Themenbereiche VisualLisp, ActiveX, Reaktoren usw.
würden den Rahmen des Einsteiger-Tutorials einfach sprengen.
Anders als beim Einsteiger-Tutorial kann ich hier allerdings nicht
auf vorhandenes Schulungsmaterial zurückgreifen - diese Seiten
entstehen ganz neu, und daher wird sich dieser Bereich auch
erheblich langsamer entwickeln als die beiden anderen Teile.
Dieses neue Tutorial versucht, eine Lücke zu schliessen: Die
ActiveX-Schnittstelle ist, jedenfalls was Lisp betrifft, in der
Online-Hilfe von AutoCAD ausgesprochen dürftig dokumentiert. Fast
alle Beschreibungen und Beispiele der ActiveX-Schnittstelle sind
auf VisualBasic bezogen, und der Lisp-Programmierer ist darauf
angewiesen, sich die inhaltlichen Aussagen selbst nach Lisp
'umzustricken', was ab und zu mit einigem Rätselraten verbunden
ist.
Andererseits wird man allerdings mit etwas dazugewonnener Erfahrung
dann auch feststellen, dass die ActiveX-Programmierung in Lisp
nicht schwierig ist, wenn man die Grundzüge dieses Spiels einmal
begriffen hat. Dass es nicht schwierig ist, bedeutet aber keinesfalls,
dass die ActiveX-Programmierung leicht von der Hand geht - sie ist
unglaublich mühsam und umständlich, wenn man sich nicht von Anfang
an Strukturen schafft, die dies ein wenig auffangen und abmildern.
ActiveX ist nicht wirklich in Lisp integriert - die Datentypen
beispielsweise sind zu Lisp völlig inkompatibel, was zu einem
permanenten hin- und herkonvertieren führt.
Viele Anwender, die in AutoLisp schon recht brauchbare Programme
geschrieben haben, sind von der ActiveX-Programmierung zunächst
abgeschreckt. Die Menge an neuen Funktionen erschlägt zunächst, und
die schlechte Dokumentation leistet auch einen Beitrag dazu. Erst
wenn klar ist, dass die rund 1500 (vla-...)-Funktionen,
die im Handbuch nicht einmal erwähnt werden, völlig unwichtig sind
und dass man auf sie getrost verzichten kann, wird die Sache ein
wenig übersichtlicher, und man merkt plötzlich, dass nur eine
gewisse Auswahl der Funktionen wirklich wichtig ist.
Mit den Reaktoren steht ein leistungsfähiger Mechanismus
zur Verfügung, mit dem so Manches, aber leider auch nicht Alles
erreicht werden kann. Leider tun sich an einigen Stellen Lücken
auf, wo bestimmte Methoden, die man erwartet, nicht zur Verfügung
stehen, wobei die Gründe für das Fehlen offen bleiben. Ebenso
stellt sich hier die Frage nach der Stabiltät: Darüber gibt das
erste Kapitel genauere Auskunft.
Auch dieses Tutorial stellt, wie die roten und die blauen Seiten,
Ansprüche an den Lernenden. Das, was auf den roten Einsteiger-Seiten
abgehandelt wurde, wird hier als vorhandenes Wissen vorausgesetzt,
insbesondere ein sicherer Umgang mit lambda-Ausdrücken, die nun mal
das A&O der Lisp-Programmierung sind. Der Stoff der blauen Seiten
für Fortgeschrittene ist nicht Vorraussetzung - ein Seitenblick
wird aber mit Sicherheit nicht schaden.
|