ЖУРНАЛ «СТА» №2/2004

менную. При необходимости кнопку можно сделать невидимой. Вопрос Имеется экранная форма. В ней — компо- нент Iconics Switch ActiveX, источником данных для которого является локальная переменная. Но в списке локальных пере- менных экранной формы она не отобража- ется. Почему? Ответ Потому что экранная форма GraphWorX и Switch ActiveX представ- ляют собой 2 разных объекта, так же как и, например, две экранные формы. Соответственно, у каждого из объектов свой список локальных переменных. Если же нужно иметь какуюто общую переменную, следует использовать ОРСтег. Вопрос В проекте организовано резервирование уз- лов с помощью DataWorX. Можно ли сде- лать так, чтобы при нажатии кнопки, загру- жающей другую экранную форму, файл этой формы мог подгружаться с основного или резервного узла, в зависимости от со- стояния связи? Ответ Да, можно. Вот два способа для реа- лизации этой задачи. Первый способ подходит как для седьмой, так и для более ранних версий GENESIS32. 1. При настройке резервирования в DataWorX определите регистр, значе- ние которого будет отображать статус узла (1 – основной узел, 0 – резерв- ный), как показано на рис. 3. 2. Создайте в экранной форме две кнопки. Одна из них будет открывать экранную форму, расположенную на основном узле, и будет скрыта, если данные поступают с резервного узла, то есть если регистр статуса равен ну- лю (рис. 4). Другая будет открывать соответствующую экранную форму, расположенную на резервном узле, и будет скрыта, если активен основной узел (рис. 5). 3. Совместите обе кнопки. В зависимо- сти от того, с какого узла поступают данные, будет задействована одна из кнопок, а другая в этот момент будет скрыта. Второй способ заключается в приме- нении глобальных псевдонимов и мо- жет использоваться только в седьмой версии GENESIS32. 1. С помощью Конфигуратора глобаль- ных псевдонимов создайте глобаль- ный псевдоним и определите для не- го два значения, соответствующих именам узлов, как показано на рис. 6. 2. Создайте кнопку, открывающую эк- ранную форму. В строке, определяю- щей путь и имя файла экранной фор- мы, замените имя узла глобальным псевдонимом, как показано на рис. 7. 3. Напишите небольшой сценарий VBA, в котором значение глобально- го псевдонима будет устанавливаться в зависимости от того, с какого узла поступают данные. В этом примере в экранную форму был добавлен ActiveXкомпонент ICONICS AxTimer Control , генерирующий со- бытие через заданные промежутки ВОП Р ОСЫ - О Т В Е Т Ы 79 СТА 2/2004 www.cta.ru Рис. 3. DataWorX: регистр статуса узла Рис. 4. Настройки кнопки, открывающей форму с основного узла Рис. 5. Настройки кнопки, открывающей форму с резервного узла Рис. 6. Настройка глобального псевдонима Рис. 7. Кнопка, открывающая форму: глобальный псевдоним в качестве имени узла

RkJQdWJsaXNoZXIy MTQ4NjUy