Код AutoLISP

Написание кода AutoLISP, как правило, делается в интегрированной среде разработки, такой как Visual LISP IDE, входящей в состав AutoCAD. При этом проходит самая большая часть работы по реализации AutoLISP функций приложения OpenDCL. OpenDCL Studio содержит несколько инструментов, которые помогают программистам с компонентами AutoLISP в приложении OpenDCL.

Браузер объекта в OpenDCL Studio обеспечивает контекстно-чувствительную справку по всем поддерживаемым свойствам, методам и событиям для конкретного элемента. Кроме того, браузер объекта позволяет быстро скопировать имена вызываемых функций в буфер обмена Windows для последующей вставки непосредственно в код AutoLISP. Контекстно-чувствительные имена функций в браузере содержат правильные хэндлы для выбранного элемента и, таким образом, минимизируют ошибки в их написании.

Браузер объекта может быть открыт двойным щелчком по нужному элементу в рабочей области OpenDCL Studio. Выбрав нужное свойство, метод или событие из списка, его синтаксис и справочная документацияпо нему отобразится в основном окне браузера объекта. Кнопка "Копировать в буфер обмена" ( ) копирует полное написание функции в буфер обмена Windows.

Обработка событий является основной задачей кода AutoLISP в приложении OpenDCL, поэтому процесс внедрения обработчиков событий был упрощен максимально возможно. В OpenDCL Studioна панели свойств во вкладке "События" отображается имя функции выбранного события (в текстовом поле под списком событий). Ниже отображается окошко с полным шаблоном вызываемой функции и предупреждением о том, что ее написание еще не завершено. Здесь имя вызываемой функции либо ее полный шаблон может быть выбран для копирования и вставки в код приложения AutoLISP.

Конкретные события могут быть включены путем установки переключателя перед его именем в списке событий. Включение события предоставляет два дополнительных способа включения шаблона функции в соответствующий код AutoLISP. Кнопка "Копировать в буфер" копирует шаблон функции в буфер обмена Windows для последующей вставки в код. Кнопка "Записать в файл" копирует шаблон функции прямо в файл с кодом AutoLISP. Эти две кнопки отображаются только в том случае, если опции "Копировать события в буфер обмена" и ""Запись событий в файл Lisp» соответственно включены в меню "Инструменты" OpenDCL Studio.

Руководство по стилю

Рекомендуетя в коде AutoLISP, использующем диалоги OpenDCL, делать все обработчики событий глобальными, а также обеспеченить загрузку исполняемого модуля OpenDCL до использования любых функций OpenDCL. Использование уникальных имен проектов (в идеале с уникальным префиксом разработчика) поможет гарантировать устранение конфликтов имен между разными приложениями. Следование этим правилам именования помогает с проектной организацией и обслуживанием кода. Например, делая префикс в именах элементов в виде трех символов, основанных на его функции (например, "btnOk" для кнопки [OK]) является распространенным методом для улучшения зрительного восприятия кода (читаемости).

Рекомендуемый подход для типичного применения - использование одного файла AutoLISP на одну форму, где код Lisp расположен в файле так, что основная функция заключается в верхней части файла, затем идут вспомогательные функции, а далее - обработчики событий.