Проект представлен “Как есть” (AS-IS) Проект примера реализации системы BPL плагинов на UNIGUI (RAD STUDIO Delphi XE 10+) плагины можно подключать как асинхронно так и при создании основной формы.
Содержимое:
1.UCommon.pas - находится функционал сохранения конфигурации в каталоге units, там-же хранятся наши bpl пакеты
2.UModules.pas - реализована процедура загрузки пакетов:
2.1. Чтение конфигурации модулей выполняется в конструкторе
2.2. Создание “Меню” выполняется в процедуре FillAllTreeView
2.3. Скрыть все фреймы в интерфейсе можно вызовом процедуры HideAllFrame
2.4. Функция LoadPage проверяет не загружен ли фрейм в память, если загружен отдаёт ссылку на фрейм, если не загружен создаёт новый фрейм
2.5. Процедура LoadAllFrame - загружает все фреймы по списку в память
3.Main.pas - основная форма приложения
3.1 Обработчик SaveImgList сохраняет лист изображений (содержит ссылки на fontawesome) для меню в файл IMG.list
3.2 Обработчик LoadImg - загружает новый лист (возможно измененный) из файла IMG.list - тем самым когда Вам нужно добавить новую иконку(fontawesome) у Вас нет потребности останавливать сервер
3.3 В обработчике UniTreeMenu1Click приведен пример коммуникации между приложениями и загруженым фреймом.
Описание
Example - Runtime Bpl Plugin System for unigui; Простой пример - системы управления плагинами на основе bpl - unigui