УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

Совместное использование переменной скриптом виджета и JavaCalk


Автор Сообщение
Сообщение создано: 27. 09. 2011 [09:56]
alex_kh1
Алексей Дорошенко
Создатель темы
Зарегистрирован(а) с: 18.07.2011
Сообщения: 39
Как правильно совместно использовать переменную из скрипта виджета и из блока JavaCalc? Правильно ли будет сделать связь атрибута скрипта виджета на атрибут JavaCalc вида "Выход", будет ли корректно устанавливатся значение в таком случае и из скрипта виджета и из JavaCalk.

И еще, если в JavaCalk нужно однократно проинициализировать значениями массив, как это сделать учитывая что значения переменных сохраняются даже после перезапуска всей скады. Не понимаю, к чему привязать инициализацию.


с ув. Алексей

[Сообщение редактировалось 1 раз(а), в последний раз 27.09.2011 в 10:25.]
Сообщение создано: 27. 09. 2011 [11:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"alex_kh1" wrote:

Как правильно совместно использовать переменную из скрипта виджета и из блока JavaCalc? Правильно ли будет сделать связь атрибута скрипта виджета на атрибут JavaCalc вида "Выход", будет ли корректно устанавливатся значение в таком случае и из скрипта виджета и из JavaCalk.

Так правильно. Однако не должно быть безусловной периодической и одновременной установки, по логике.

"alex_kh1" wrote:

И еще, если в JavaCalk нужно однократно проинициализировать значениями массив, как это сделать учитывая что значения переменных сохраняются даже после перезапуска всей скады. Не понимаю, к чему привязать инициализацию.

Смотрим документацию на предмет "f_start".

Learn, learn and learn better than work, work and work.
Сообщение создано: 27. 09. 2011 [12:04]
alex_kh1
Алексей Дорошенко
Создатель темы
Зарегистрирован(а) с: 18.07.2011
Сообщения: 39
"roman" wrote:

Так правильно. Однако не должно быть безусловной периодической и одновременной установки, по логике.


Спасибо за ответ.
То, что не должно быть одновременной установки переменной понятно.
На всякий случай уточню еще, подобная установка флаговой переменной из разных скриптов единственный способ взаимодействия между ними?
Нельзя безусловно вызвать JavaCalk скрипт из скрипта виджета или послать ему сообщение?
Сообщение создано: 27. 09. 2011 [14:01]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"alex_kh1" wrote:

То, что не должно быть одновременной установки переменной понятно.
На всякий случай уточню еще, подобная установка флаговой переменной из разных скриптов единственный способ взаимодействия между ними?
Нельзя безусловно вызвать JavaCalk скрипт из скрипта виджета или послать ему сообщение?

Не единственный, но самый правильный если в подсистеме сбора данных есть параметр-объект представитель этого флага и т.д.

Ещё можно сообщения генерить, а затем читать архив или прямо писать в таблицу БД.

Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 09. 2011 [13:25]
alex_kh1
Алексей Дорошенко
Создатель темы
Зарегистрирован(а) с: 18.07.2011
Сообщения: 39
Теперь не получается передать строковую переменную из виджета в JavCalk :D.
В JavaCalk строковая переменная типа "Вход". В виджете строковая типа "Выход" или "Полный доступ", в JavaCalkJavCalk значение не попадает в любом случае.

Попутно обнаружил еще кое что. Виждет, строковая переменная, добавляю в нее при каждом просчете символ. Задаю этой переменной свойство связь "Выход"(не привязанный ни к чему или привязанный, разницы не заметил), работает(удлиняется на символ с каждым просчетом), ставлю "Полный доступ" - переменная почему-то очищается при каждом новом просчете. Это так задумано или?

с ув. Алексей

[Сообщение редактировалось 2 раз(а), в последний раз 28.09.2011 в 14:32.]
Сообщение создано: 28. 09. 2011 [15:27]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"alex_kh1" wrote:

Теперь не получается передать строковую переменную из виджета в JavCalk :D.
В JavaCalk строковая переменная типа "Вход". В виджете строковая типа "Выход" или "Полный доступ", в JavaCalkJavCalk значение не попадает в любом случае.

У меня всё попадает!

"alex_kh1" wrote:

Попутно обнаружил еще кое что. Виждет, строковая переменная, добавляю в нее при каждом просчете символ. Задаю этой переменной свойство связь "Выход"(не привязанный ни к чему или привязанный, разницы не заметил), работает(удлиняется на символ с каждым просчетом), ставлю "Полный доступ" - переменная почему-то очищается при каждом новом просчете. Это так задумано или?

Связи значит реально нет!

Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 09. 2011 [15:47]
alex_kh1
Алексей Дорошенко
Создатель темы
Зарегистрирован(а) с: 18.07.2011
Сообщения: 39
"roman" wrote:

У меня всё попадает!

Ну тогда не знаю что еще сделать, ошибок в протоколе нет, в коде тоже все предельно просто, но не работает.

"alex_kh1" wrote:

Связи значит реально нет!

Не понимаю. Есть переменная(атрибут), без выставления поля связи. Внутри виджета все работает как нужно.
Выставляем ей свойство связи с полным доступом, ни к чему эту связь не привязываем и при этом внутри виджета переменная сбрасывается при каждом обсчете, так и должно быть?
Я полагал что переменная хранится в виджете, считывается по связи при старте обсчета и выдается по связи по окончании обсчета, если же связь не подключена влиять на значение переменной это по идее не должно никак, внутри самого виджета.

[Сообщение редактировалось 2 раз(а), в последний раз 28.09.2011 в 16:10.]
Сообщение создано: 28. 09. 2011 [16:11]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"alex_kh1" wrote:

Не понимаю. Есть переменная(атрибут), без выставления поля связи. Внутри виджета все работает как нужно.
Выставляем ей свойство связи с полным доступом, ни к чему эту связь не привязываем и при этом внутри виджета переменная сбрасывается при каждом обсчете, так и должно быть?

Должно, EVAL он туда пишет, что и является признаком ошибки или отсутствия связи.

Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 09. 2011 [16:13]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"alex_kh1" wrote:

Ну тогда не знаю что еще сделать, ошибок в протоколе нет, в коде тоже все предельно просто, но не работает.

В ДемоБД немерянное количество рабочих примеров!
Разбирайтесь!


Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 09. 2011 [17:10]
alex_kh1
Алексей Дорошенко
Создатель темы
Зарегистрирован(а) с: 18.07.2011
Сообщения: 39
"roman" wrote:

В ДемоБД немерянное количество рабочих примеров!
Разбирайтесь!


Ну, не встречал в примерах передачи именно строк из виджета в JavCalk, все вещественные либо целые либо строки но в обратном направлении. Буду искать еще, раз должно быть.

[Сообщение редактировалось 2 раз(а), в последний раз 28.09.2011 в 17:49.]



9837