Программное устройство комплекса
Программный комплекс построен с использованием компонентной модели програмирования. Комплекс состоит из одного исполняемого модуля и набора динамически подключаемых библиотек, содержащих программные компоненты, обеспечивающие функциональность программного продукта. Программные компоненты достаточно независимы друг от друга. Компоненты могут изменяться не требуя при этом изменения остальных компонентов. Для того чтобы модули могли использоваться в данном комплексе они должны быть разработаны с учетом определенных правил. Выполнение этих правил позволяет внутренней системе загружать и использовать выбранные модули. Компоненты взаимодействуют друг с другом с помощью неизменяемых программных интерфейсов. Интерфейсы жестко заданы при создании компонента и не подлежат изменению в будущем.
Главное меню и панель кнопок может настраиваться пользователем по своему желанию. Для каждой группы пользователей могут быть созданы свое главное меню и панель кнопок. В приложении может использоваться различный набор компонентов. Комплекс из набора компонентов и настроенного главного меню позволяет эксплуатировать программу в различных сферах деятельности. Также существует возможность включать дополнительные модули, разработанные независимыми разработчиками, в общую структуру комплекса. Данная возможность позволяет наращивать функциональность самостоятельно.
Все программные модули располагаются в динамически подключаемых библиотеках. Библиотеки экспортируют определенные функции, позволяющие регистрировать модули, создавать модули в нужное время, следить за временем жизни модуля и др. функции. В одной библиотеке может быть несколько модулей. Каждому модулю при создании присваивается уникальный глобальный идентификатор GUID. Например: {34DC9654-4FF4-438E-9B93-24E70CC85C9B}. Дополнительно к GUIDу каждый модуль имеет текстовый программный идентификатор. Например:Kas.ObjectCheckDiscount.1. Текстовый программный идентификатор используется для удобства. Внутри себя программа идентифицирует модули по GUID.
COM система использует только зарегистрированые модули. Все зарегистрированные модули указаны в файле kanGUID.dat. Если добавляется новый модуль необходимо его зарегистрировать в системе. Для этого можно просто удалить файл kanGUID.dat При первом запуске будет создан новый файл регистрации и туда добавлены записи обо всех модулях присутствующих в локальном каталоге.
Для настройки меню и панели кнопок необходимо хранение идентификаторов всех модулей в базе данных в специальном справочнике "Программные модули". Добавлять модули в справочник можно вручную, либо с помощью кнопки на панели добавить все новые модули сразу. В каждой записи указан GUID модуля, ProgId модуля, а также DLL библиотека, в которой находится выбранный компонент. Данный справочник в дальнейшем будет использован для настройки главного меню, панели кнопок и прав на использование модуля.
Названия и параметры программных модулей используемых для построения сайта также находятся в справочнике "Программные модули". Добавляются они, к сожалению, только вручную.
Программный комплекс позволяет настроить главное меню для каждой группы пользователей. Можно задавать вручную по одной записи, либо использовать кнопки на панели и создать сразу полное стандартное меню для выбранного модуля.
Программный комплекс позволяет создать для каждой группы пользователей свою панель кнопок. Можно создавать панель вручную по одной записи, либо использовать кнопку на панели для создания стандартной панели кнопок. Пиктограммы для кнопок берутся и папки \Images каталога с программой. Название файла пикторграммы состоит из индекса пиктограммы. Пиктограммы размером 16х16 в формате bmp. Индекс начинается с 0. Все индексы должны идти по порядку.
Вход