Разобрался. Делюсь ценным знанием.
Для начала обновил QUIK на 8.12, но это не было причиной.
Указанный код действительно открывает источник данных по обезличенным сделкам.
При этом вначале он берет текущие данные из локального терминала. Если до этого момента терминал не получал данных по обезличенным сделкам, то действительно сначала ds:Size() == 0.
А затем самое интересное.
Если этот код стоит в OnInit как у меня, DS никаких новых данных с сервера не получает. Если был размером 0, так и останется 0. Если был размером 100, так и останется 100. Никакой SetEmptyCallback() на это не влияет.
Реально новые данные с сервера начинают поступать только с момента окончания OnInit и перехода в main().
Спасибо, тема закрыта
Для начала обновил QUIK на 8.12, но это не было причиной.
Указанный код действительно открывает источник данных по обезличенным сделкам.
При этом вначале он берет текущие данные из локального терминала. Если до этого момента терминал не получал данных по обезличенным сделкам, то действительно сначала ds:Size() == 0.
А затем самое интересное.
Если этот код стоит в OnInit как у меня, DS никаких новых данных с сервера не получает. Если был размером 0, так и останется 0. Если был размером 100, так и останется 100. Никакой SetEmptyCallback() на это не влияет.
Реально новые данные с сервера начинают поступать только с момента окончания OnInit и перехода в main().
Спасибо, тема закрыта