@Fox, ну если 2-3 метра брало, то без проблем, конечно.
Выполнить код ошибка "ReferenceError: Can't find variable"
-
Добрый вечер.
При работе в много потоке возникает ошибка: "не удается найти переменную".
При работе в "запись" код работает нормально в чем может быть причина ?
Сам код:var Milliseconds = Number([[DATE_PUBLICATION_PROGRAMS_BD_DOCUMENTATION_ID]]); var DaysInner = new Date(Milliseconds); //log(DateInner); var DaysInnerHTM = DaysInner.toGMTString(); //log(DaysInnerHTM); var [[DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = DaysInnerHTM;Ошибка: [34510862] [23:34:47] Поток №2 : Поток завершился с сообщением "ReferenceError: Can't find variable: VAR_DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML во время выполнения действия "
-
@ediczr said in Выполнить код ошибка "ReferenceError: Can't find variable":
Подскажите в режиме "запись" переменная при старте объявляется DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML: "undefined"
Переменная объявляется в коде "Выполнить код" - это правильно ?
Как же мне
заеба..надоело гадать.. Вы в первом сообщении написали, что у вас в режиме "запись" всё работает, а в режиме "запуск" вываливается ошибка? А где вы объявляете переменные и где используете? Если объявить переменную в функции OnApplicationStart, то в main она уже не будет видна. Так же если вы в main объявляете переменную, а следом вызываете "функцию в многопотоке" то эту переменную там видно не будет. -
Вопрос решился переписал как необходимо чтобы работало в много потоке.
Поясняю кому интересно в "Main" функция запускается в много поток через "Количество потоков". Все переменные внутри функции без передачи и взаимодействия.
При написании в режиме "Запись" код который ниже работает:
код №1var Milliseconds = Number([[DATE_PUBLICATION_PROGRAMS_BD_DOCUMENTATION_ID]]); var DaysInner = new Date(Milliseconds); //log(DateInner); var DaysInnerHTM = DaysInner.toGMTString(); //log(DaysInnerHTM); var [[DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = DaysInnerHTM;код№2
var timeinmilli = [[DATE_DIFFERENCE_IN_SECONDS_PUBLICATION_PROGRAMS]] * 1000; var seconds = parseInt(timeinmilli = timeinmilli / 1000) % 60; var minutes = parseInt(timeinmilli = timeinmilli / 60) % 60; var hours = parseInt(timeinmilli = timeinmilli / 60) % 24; var days = parseInt(timeinmilli = timeinmilli / 24); DaysInnerHTM = days + ' days, ' + hours + ' hours, ' + minutes + ' min, ' + seconds + ' sec.' var [[PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = DaysInnerHTM; //log(DaysInnerHTM);При запуске в много потоке появляются ошибки "не удается найти переменную"
ReferenceError: Can't find variable [[DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] ReferenceError: Can't find variable [[PUBLICATION_PROGRAMS_DAYS_INNER_HTML]]В много потоке работает такой код
код№1[[DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = (new Date(Number([[DATE_PUBLICATION_PROGRAMS_BD_DOCUMENTATION_ID]]))).toGMTString();код№2
[[PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = parseInt([[DATE_DIFFERENCE_IN_SECONDS_PUBLICATION_PROGRAMS]]/60/60/24) + ' days, ' + parseInt([[DATE_DIFFERENCE_IN_SECONDS_PUBLICATION_PROGRAMS]]/60/60)%24 + ' hours, ' + parseInt([[DATE_DIFFERENCE_IN_SECONDS_PUBLICATION_PROGRAMS]]/60)%60 + ' min, ' + parseInt([[DATE_DIFFERENCE_IN_SECONDS_PUBLICATION_PROGRAMS]])%60 + '; sec.';В чем причина, пересечение потоков нет переменные у каждого потока свои. (Если кто в курсе поясните в чем дело ;-) )....
-
@ediczr said in Выполнить код ошибка "ReferenceError: Can't find variable":
Если кто в курсе поясните в чем дело ;-)
Объявлять переменные BAS нужно без приставки var
[[DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML]] = DaysInnerHTM; или VAR_DATE_PUBLICATION_PROGRAMS_DAYS_INNER_HTML = DaysInnerHTM;