На данный момент, у меня используется иная структура пакетов/элементов относительно базового HiAsm:
<BaseBinary>(file)// Бинарный файл
Packages(dir) //Каталог, в котором будут расположены пакеты
--------base(dir) //Один из пакетов (базовый)
------------package(file) //Файл информации о пакете
------------elements(file) //Файл информации об элементах
------------elements(dir) //Директория, в которой будут расположены элементы
--------------------AccessFTP(dir) //Директория элемента, в которой хранятся все необходимые файлы
-----------------------------AccessFTP(file) //Файл описания элемента
-----------------------------AccessFTP.code(file) //Скрипт
-----------------------------AccessFTP.png(file) //Состояние
-----------------------------AccessFTP_new.ico(file) //Состояние
-----------------------------AccessFTP_end.ico(file) //Состояние
Над форматом описания элементов пока не думал, но, он точно будет отличаться от текущего.
Идея в том, что будет файл описания элемента (как для пакета), и в нём, кроме описания элемента, можно будет указать файл(ы) скрипта и иконок (состояний).
Вот так вот выглядит описание пакета (json), но, его ещё доработать нужно будет:
{
"name": "base",
"shortDescription": "Базовый пакет",
"description": "Пакет с набором базовых элементов",
"visible": true,
"base": true,
"projects": [
{
"name": "testProject",
"shortDescription": "Тестовый проект",
"description": "Проект для тестирования базового пакета",
"entryElement": "entryElement"
}
]
}
Всё это парсится при запуске приложения.
Собственно вопрос: Стоит использовать новую структуру пакетов/элементов, или оставить прежнюю?
Также будут интересны идеи/мысли по этому поводу.
------------ Дoбавленo в 19.06:
Директорию с элементом, думаю, можно упростить:
AccessFTP(dir) //Директория элемента, в которой хранятся все необходимые файлы
---------element(file) //Файл описания элемента
---------script(file) //Скрипт
---------main.png(file) //Состояние
---------new.ico(file) //Состояние
---------end.ico(file) //Состояние
------------ Дoбавленo в 19.14:
Конвертировать элементы из старого формата в новый, не составит труда.
Описание будет в том же текстовом json.
Сохранять что либо в бинарном формате, не вижу пока что смысла.