Секция "Plugins":
Самое интересное - плагины.
Каждый плагин представляет набор модулей (Unit-ы) различного уровня действия:
1. Sys unit level - самый низкий уровень, находится вначале итогового скрипта, в нем можно определять свои типы данных, импортируемые функции из DLL и функции, расширяющие возможности макро-языка интерпретатора.
2. Middle level unit - средний уровень, содержимое располагается перед кодом run level unit'а. В данном модуле можно как расширять макро-язык (свои типы данных, импорт функций из dll и т.д.), так и писать спец. функции (закладка Functions в дизайнере), однако с этой частью пока я не разобрался.
3. Run level unit - скрипт высокого уровня. Реализует действие, его визуальный вид, структуры входных и выходных данных, дизайнер окна действия, скрипт визуальной формы, скрипт работы непосредственно самого действия. Доступен выбор категорий к которым относится действие, место расположения с выбором узла из Action nodes.
Пример их использования, например такой:
Вы написали, или используете DLL, вам надо описать типы данных и функции используемые для работы с библиотекой, и эти типы данных вы так же хотели бы использовать и в самом действии.
Типы данных и экспортируемые функции описываете в Sys Level Unit,
но этот код все ещё слишком громоздкий, что бы вот так сразу оперировать им на высоком уровне, потому можно обернуть громозкий код
в функции на Middle уровне, а на Run уровне просто использовать их.
Такой пример реализован в плагине Windows.spm, по сути это даже не плагин - набор WinAPI функций и библиотека простого кода использования этих самых WinAPI.
Язык разработки скриптов - pascal, а интерпретатор, который использует разработчик - RemObjects PascalScript в ядре xStarter. Он выполняет написанный вами код.
Этот же интерпретатор используется в ПО Inno Setup, из документации которого можно узнать базовые возможности интерпретатора, способы экспорта функций из внешних библиотек. Или на самом сайте RemObjects или их GitHub
(не закончено..)
Пытайся, пытайся, пытайся снова... и никогда не сдавайся, и однажды все сложится так, как нужно.