Для обеспечения возможности создания общего модуля автоматического обновления версий, работы модуля "О программе", и других общих компонентов АСУ-Ш-2 все задачи и КЗ АСУ обязательно должны единообразно работать с реестром Windows. Требование размещения КЗ и задач АСУ-Ш-2 в одной директории вытекает из соображений эффективности и удобства сопровождения АСУ на объектах внедрения.
Для всей АСУ-Ш-2 в реестр Windows вводятся следующие общие параметры, которые хранятся в ключе:
HKEY_CURRENT_USER\Software\Assh2
Pred_Id (DWord) – идентификатор предприятия (заполняется один раз при первой установке любого компонента АСУ-Ш-2)
Podr_Id (DWord)– идентификатор подразделения (м.б. не заполнен вначале)
Vd_Id (DWord)– идентификатор вида деятельности предприятия
ServerTip (DWord) – тип сервера (SQL/DB2) 0 - SQL, 1- DB2
ServerName (String) – имя сервера
DataBaseName (String) – имя базы данных
Все задачи и модули АСУ-Ш-2 должны работать с данными параметрами. Причем первые три из них не должны меняться, если они уже существуют (записываются первой задачей АСУ-Ш-2, устанавливаемой на данной ПЭВМ).
Кроме общей части для всей АСУ, для каждой задачи (модуля) и для каждого общего компонента задач АСУ-Ш-2 формируется собственный подключ по имени задачи (модуля, компонента), например:
HKEY_CURRENT_USER\Software\Assh2\M_Kadr
Все, требуемые для работы задачи (модуля, компонента) настройки-данные хранятся в параметрах этого подключа (кроме общих настроек для АСУ):
Default (параметр по умолчанию) (String) – полное имя исполняемого файла, включая путь (параметр обязательный для заполнения)
Далее - параметры настройки интерфейса (значения: 1 – да, 0 – нет)
Hint (DWord) – наличие всплывающих подсказок
Status_Line (DWord) – наличие строки состояния
Flat_New (DWord) – наличие объемных кнопок
А затем остальные:
Printer (String) – принтер, используемый задачей по умолчанию.
Внутри подключа задачи (модуля) формируются подключи низшего уровня для каждого используемого задачей компонента, например:
HKEY_CURRENT_USER\Software\Assh2\OSN\FORMDOC
Параметры этого подключа для собственных компонентов задачи (модуля) – те же, что и для задачи в целом (см. выше). Для общих компонентов АСУ-Ш-2, используемых задачей, подключ имеет только один параметр Default, в котором задано имя подключа общего компонента.
Установка по умолчанию должна производиться для всех КЗ и задач АСУ-Ш-2 в следующий каталог:
<Program Files Directory>\ASSH2
Каждая задача устанавливается в свой подкаталог в каталоге АСУ-Ш.
В данном разделе рассматриваются основные принципы взаимодействия общих модулей, входящих в состав АСУ-Ш-2 (далее: модули), с приложениями, входящими в состав задач или комплексов задач, в которых может возникнуть необходимость вызова такого модуля (далее: приложения).
При рассмотрении такого взаимодействия возникают три основных проблемы:
– обращение к функциональной части модуля из приложения и передача каких-либо параметров.
– получение приложением управления над интерфейсными элементами, предусмотренными модулем.
– обмен данными между модулем и приложением как в реальном времени (во время работы модуля), так и к результатам работы модуля (после завершения его работы).
Первые две проблемы достаточно тесно связаны между собой, поэтому рассматриваются далее совместно. Третья проблема относительно независима и далее рассматривается отдельно.
Предусматриваются четыре основных варианта построения модуля.
В виде статически присоединяемого модуля (dcu). Частным случаем такого представления является компонент Delphi. В таком виде могут быть реализованы наборы процедур, функций и компонентов, не обладающих законченной функциональностью и не имеющих значения самостоятельных представлений в виде форм Delphi. Такие модули могут создавать и отображать формы, но эти формы модальные и не представляют интереса в отрыве от функциональности данного модуля.
Поскольку такой модуль фактически является частью приложения, проблемы обращения к нему и обмена данными не существует.
Если модуль представляет собой компонент, для него должны быть документированы общие и публикуемые свойства и общие методы. Для классов, не являющихся компонентами, документируются общие свойства и методы. В обоих случаях, если предусматривается возможность наследования, документируются защищенные свойства и методы.
Для процедур и функций документируются список и способ передачи параметров и тип возвращаемого значения.
В виде динамически присоединяемой библиотеки (dll). В таком виде реализуются:
– Библиотеки общих функций и процедур, если статическое их представление нерационально (из-за большого объема или планируемых модернизаций), либо не обеспечивает совместимости (например, при необходимости обращения к функциям и процедурам из Visual C++).
– Модули, обладающие законченной функциональностью и, как правило, обеспечивающие собственный интерфейс в виде форм Delphi.
Первый вариант является стандартным для Windows, поэтому подробно не рассматривается.
Модуль, предусматривающий создание собственной формы (или форм), как минимум, должен экспортировать функции двух типов: возвращающие дескриптор (Handle) созданной в модуле формы и саму форму. Такие функции должны быть предусмотрены для всех форм, создаваемых в модуле, за исключением, возможно, тех форм, работа с которыми предусматривается только непосредственно из модуля. Функции должны вызываться без параметров, их имена в ПО АСУ-Ш-2 должны быть единообразны и иметь вид:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.