EnglishУкраїнськаmRussian
Login/New
Topic with many replies

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


Author Message
Written on: 27. 09. 2011 [09:56]
alex_kh1
Алексей Дорошенко
Topic creator
registered since: 18.07.2011
Posts: 39
Как правильно совместно использовать переменную из скрипта виджета и из блока JavaCalc? Правильно ли будет сделать связь атрибута скрипта виджета на атрибут JavaCalc вида "Выход", будет ли корректно устанавливатся значение в таком случае и из скрипта виджета и из JavaCalk.

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


с ув. Алексей

[This article was edited 1 times, at last 27.09.2011 at 10:25.]
Written on: 27. 09. 2011 [11:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"alex_kh1" wrote:

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

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

"alex_kh1" wrote:

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

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

Learn, learn and learn better than work, work and work.
Written on: 27. 09. 2011 [12:04]
alex_kh1
Алексей Дорошенко
Topic creator
registered since: 18.07.2011
Posts: 39
"roman" wrote:

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


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

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

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

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

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

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

с ув. Алексей

[This article was edited 2 times, at last 28.09.2011 at 14:32.]
Written on: 28. 09. 2011 [15:27]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"alex_kh1" wrote:

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

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

"alex_kh1" wrote:

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

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

Learn, learn and learn better than work, work and work.
Written on: 28. 09. 2011 [15:47]
alex_kh1
Алексей Дорошенко
Topic creator
registered since: 18.07.2011
Posts: 39
"roman" wrote:

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

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

"alex_kh1" wrote:

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

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

[This article was edited 2 times, at last 28.09.2011 at 16:10.]
Written on: 28. 09. 2011 [16:11]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"alex_kh1" wrote:

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

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

Learn, learn and learn better than work, work and work.
Written on: 28. 09. 2011 [16:13]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"alex_kh1" wrote:

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

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


Learn, learn and learn better than work, work and work.
Written on: 28. 09. 2011 [17:10]
alex_kh1
Алексей Дорошенко
Topic creator
registered since: 18.07.2011
Posts: 39
"roman" wrote:

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


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

[This article was edited 2 times, at last 28.09.2011 at 17:49.]



3840