.Set - ошибка при использовании
Использую такую структуры:
function UserSlider(Interface,GA1,GA2) // передаю название драйвера и групповые адреса
{
var DEVICE = IR.GetDevice(Interface);
var Level = IR.GetItem("Page").GetItem("Item1");
function SetInitState() // Функция вычисления позиции
{
SendCommand();
}
function SendCommand()
{
if(Level.Value < 30)
{
DEVICE.Set(MoveGA,0);
}
else if(Level.Value > 70)
{
DEVICE.Set(MoveGA,1);
}
else
{
DEVICE.Set(StopGA,0);
}
}
}
Этот скрипт работал на всех проектах i2.
Сейчас импортировал его в i3. Эмулятор выдает ошибку на команду DEVICE.Set/ Говорит следующее:
[11-01-2017 13:58:09.893] WARNING SCRIPT Script exception: TypeError: C:\Users\evgeniy\Documents\iRidium pro documents\Client\669\scripts\Shutters_horizontal.js:35: Tried to use null as an object
Эта ошибка вылезает на все три случая использования .Set. Инструкции на i3 все перечитал. Все сделано в рамках требований движка.
Подскажите, как быть. Может я что-то не вижу?
Сервис поддержки клиентов работает на платформе UserEcho
Здравствуйте!
Как вы вызываете функцию UserSlider и в какой момент вы передаете в нее параметры?
var UserSlider_3 = new UserSlider("BAOS 771_1","S_1_2_1 - move","S_1_2_1 - stop");
var UserSlider_4 = new UserSlider("BAOS 771_1","S_1_2_2 - move","S_1_2_2 - stop");
Параметры передаюися при инициализации приложения
Здравствуйте!
У вас в методе Set используются переменные: MoveGA и StopGA, но в самой функции я их не вижу. Это какие-то глобальные переменные?
Также уточните в какой момент вызывается функция SetInitState, насколько я вижу именно она вызывает функцию SendCommand, в которой у вас возникает проблема.
Если есть возможность, то можете прислать проект полностью на нашу почту support@iridiummobile.ru ?
Я передаю их в функцию извне. GA1 и GA2 - это и есть MoveGA и StopGA. Упрощал скрипт и переименовал их.
Прикладываю оригинальный скрипт.
Shutters_horizontal.js
Дмитрий, есть варианты решения?
Доброе утро!
Нашел ошибку в коде - полностью моя вина.
Закрываем топик.