[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта попытка №2

Страницы: 1
RSS
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта попытка №2
 
Прошу пожалуйста подтвердить, что это ошибка или что это корректное поведение Квика:

Заказываю данные через CreateDataSource:SetUpdateCallback():

Запускаю Квик:
-Загружаю скрипт.
-Запускаю скрипт.
-Скрипт вызывает CreateDataSource.
-CreateDataSource возвращает нулевую таблицу, что говорит о том, что данные придут позже в колбек.
-Колбек  больше НИКОГДА не вызывается ... проверка размера таблицы в цикле - так  же не дает результата, а точнее размер таблицы всегда нулевой - хоть  крути цикл минуту, хоть 10 минут.

Выгружаю Скрипт и СРАЗУ же его запускаю - данные сразу же начинают приходить.




Вот простейший скрипт подтверждающий это поведение:
Код
function my_callback_CreateDataSource(my_table_data_, code_class_, code_paper_)

message(code_paper_)       //В первый запуск скрипта - НИКОГДА не вызывается.

end



-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------


function main()


local code_class1 = "TQBR"           
local code_paper1 = "GAZP"           
local interval1   = INTERVAL_TICK  


local code_class2 = "TQBR"           
local code_paper2 = "SBER"           
local interval2   = INTERVAL_TICK  



----------------------------------------------------------------------Вызов  CreateDataSource_1------------------------------------------------------------------------------

local my_table1, error_desc1 = CreateDataSource(code_class1, code_paper1, interval1)      --Вызываем собственно CreateDataSource

------------------------Проверка на ошибки:-------------------
if error_desc1 ~= nil then 
message("Error")
end
--------------------------------------------------------------

message(tostring(my_table1.Size()))                  //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table1.Size() == 0 then
message("data requested from the server")
end

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



----------------------------------------------------------------------Вызов  CreateDataSource_2------------------------------------------------------------------------------
local my_table2, error_desc2 = CreateDataSource(code_class2, code_paper2, interval2)  --Вызываем собсвенно CreateDataSource

------------------------Проверка на ошибки:-------------------
if error_desc2 ~= nil then 
message("Error")
end
--------------------------------------------------------------

message(tostring(my_table2.Size()))                 //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table2.Size() == 0 then
message("data requested from the server")
end

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



my_table1:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data1, code_class1, code_paper1) end)
my_table2:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data2, code_class2, code_paper2) end)
Версия Квика 9.7.1.10
 
Quikos, добрый день.

По данному вопросу ответили Вам в теме https://forum.quik.ru/forum10/topic7804/.
Страницы: 1
Читают тему
Наверх