@mik888em из вашего поста видно что вы пытаетесь пасить переменную представленную в формате JSON, а она ей не является.
upd Поставьте проверку на валидность json Или сами напишите проверочную функцию или проще есть кубик JSON там есть экшен проверки на валидность формата.
не может найти переменную определенную в onAppStart
-
0_1482424371633_werrewwerewr.xml
запускаю в режиме записи, все как и должно.
запускаю в обычном режиме, не может найти переменную определенную в onAppStart -
@out В onApplicationStart надо устанавливать глобальную переменную, которую затем читать в локальную (ну т.е. читать ее уже в функции Main).
-
на будущее, хотелось бы иметь возможность выполнять действия один раз (как onAppStart ), только чтобы можно было достучатся в локальную видимость.
Например, нужно только один раз перед выполнением скрипта прочитать файл в список и дальше уже работать с данными в этом списке. понятно, что у БАС для этого предназначены "ресурсы", но не всегда это удобно. Например, у нас есть какие-то служебные/промежуточные файлы и они должны читаться один раз, перед выполнением потоков.или все таки продолжать делать методом: в onappstart в глобальную переменную читать файл, а после читать глобальную в локальную переменную ? Т.е. одни и те же данные держать в разных переменных (больше расхода RAM). Каждый поток будет считывать с глобальной в свою локальную.
-
@out
или все таки продолжать делать методом: в onappstart в глобальную переменную читать файл, а после читать глобальную в локальную переменную ?
Да, именно так.
Т.е. одни и те же данные держать в разных переменных (больше расхода RAM). Каждый поток будет считывать с глобальной в свою локальную.
Если там очень большой массив, можно читать его не весь, а только отдельные элементы.
Например,
В OnApplicationStart
PSet("Array Name","0","line0") PSet("Array Name","1","line1") PSet("Array Name","2","line2")В потоке
[[FIRST_LINE]] = P("Array Name","0")