Sergey Gorokhov, спасибо! В main все работает ожидаемым образом. (Кстати, и без вызова SetEmptyCallback. Зачем он тогда?)
А вот сути проблемы я, к сожалению, не понял. Вы пишите:
Цитата |
---|
Все колбеки выполняются в основном потоке терминала, т.е. пока колбек не завершит работу, терминал будет висеть и ничего не делать. |
У меня есть только один колбек OnInit, или нет?
До вызова main в нем неинициализированной глобальной переменой sz_sr присваивается некоторое значение. OnInit завершается (в основном потоке). Затем (если я верно понял) в отдельном потоке запускается и нормально работает main. Никто, вроде, не висит больше. Но почему-то присвоенное значение -- это 0, что обнаруживается в самом же вызове OnInit. Причем лишь каждый ВТОРОЙ запуск скрипта (а иначе -- правильное значение).
Что вообще стоит делать в OnInit? Можно, например, стакан заказать (Subscribe_Level_II_Quotes)?
Очень хотелось бы разобраться. Еще раз благодарю!