не может найти переменную определенную в onAppStart



  • 0_1482424371633_werrewwerewr.xml
    запускаю в режиме записи, все как и должно.
    запускаю в обычном режиме, не может найти переменную определенную в onAppStart



  • @out В onApplicationStart надо устанавливать глобальную переменную, которую затем читать в локальную (ну т.е. читать ее уже в функции Main).



  • @lev понял. Как-раз начал об этом только что подозревать, это не радует )
    я той области читал файлы в список и прочее, чтобы выполнить это только один раз. Но теперь придется чуть иначе делать.



  • ага, список в onApplicationStart не определишь, он обнулится в Main. Только если ты там список какой-то особый формируешь., тогда в onApp его надо формировать, и потом записывать в файл сторонний, а из потоков уже к файлу обращаться.



  • на будущее, хотелось бы иметь возможность выполнять действия один раз (как onAppStart ), только чтобы можно было достучатся в локальную видимость.
    Например, нужно только один раз перед выполнением скрипта прочитать файл в список и дальше уже работать с данными в этом списке. понятно, что у БАС для этого предназначены "ресурсы", но не всегда это удобно. Например, у нас есть какие-то служебные/промежуточные файлы и они должны читаться один раз, перед выполнением потоков.

    или все таки продолжать делать методом: в onappstart в глобальную переменную читать файл, а после читать глобальную в локальную переменную ? Т.е. одни и те же данные держать в разных переменных (больше расхода RAM). Каждый поток будет считывать с глобальной в свою локальную.


  • administrators

    @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")
    

Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.