Концепция нового HiAsm
Обработчики являются обычными DLL с необходимым количеством экспортируемых функций. Одна и та же DLL может быть указана как обработчик в разных местах.
Любой обработчик может выполнять любые действия, доступные обработчикам (на рисунке представлены примерные действия для соответствующей группы обработчиков). Обработчики могут получать информацию о среде, текущем пакете, текущем проекте, текущем компиляторе.
Кодогенератор является обработчиком события «Компилировать»/«Компилировать и запустить»
Существует стандартный набор обработчиков:
- стандартный редактор GUI
- редакторы стандартных свойств
- стандартный кодогенератор
Обработчики задаются в конфигурации пакета, отдельно для пакета в целом, каждого типа проекта, компонента/группы компонентов, (напр., визуальных), панели свойств, палитры компонентов и т.п.
В параметрах компонента можно задавать свойство нестадартного типа с указанием его обработчика.
Также можно задавать отдельные компиляторы для каждого типа проекта.
Сами параметры компилятора задаются не в виде одной командной строки, а в виде набора команд, которые нужно выполнить последовательно (чтобы избежать написания собственных «прокладок»).
Обработчик перед компиляцией может получить текущие параметры компилятора и изменить их в зависимости от текущей схемы.