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