Отписка от колбека SetUpdateCallback и сразу же подписка

Страницы: 1
RSS
Отписка от колбека SetUpdateCallback и сразу же подписка
 

Что то фигня получается, я подписываюсь на акцию к примеру Сбера - все окей - обновляемые данные приходят.
Через некоторые время я отписываюсь от колбека и через несколько секунд опять подписываюсь, подписка проходит без ошибок, НО - колбек уже не вызывается, то есть обновляемые данные не хотят уже приходить.

Вот код демонстрирующий это:

Код
global_cntr=0;



function my_callback_CreateDataSource_(my_table_data_candle_, code_class_, code_paper_, interval_, idx)


message(code_paper_ ..":" .. interval_string_..":" ..tostring(my_table_data_history_candle_:C(idx))  )




if global_cntr == 13 then

my_table_data_history_candle_:Close()     --отписываемся
message("CLOSE")

end
global_cntr=global_cntr+1


end








function main()

message("start")

local code_class_1= "TQBR"          
local code_paper_1= "SBER"
local intervakla_1= INTERVAL_M1



local my_table_1, error_desc_1 = CreateDataSource(code_class_1, code_paper_1, intervakla_1)  


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

status = my_table_1:SetUpdateCallback(function(idx)my_callback_CreateDataSource_(my_table_1, code_class_1, code_paper_1, intervakla_1, idx) end)









while not stopped do 

sleep(1)

if global_cntr == 14 then

message("START_2")

local code_class_1= "TQBR"          
local code_paper_1= "SBER"
local intervakla_1= INTERVAL_M1



local my_table_2, error_desc_2 = CreateDataSource(code_class_1, code_paper_1, intervakla_1)  


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

status = my_table_2:SetUpdateCallback(function(idx)my_callback_CreateDataSource_(my_table_2, code_class_1, code_paper_1, intervakla_1, idx) end)

message(tostring(status))

global_cntr = global_cntr + 1

message("END")
break

end


end








-------------------------
while not stopped do 
sleep(1)
end 
-------------------------



end -- end main()
 
Quikos, добрый день.

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
 
Цитата
Anton Belonogov написал:
Quikos, добрый день.

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Может быть Вы изучите и проблему с SetUpdateCallback ? Который срабатывает Только после второго запуска скрипта или подтвердите, что такая странная работа SetUpdateCallback и задумана разработчиками Квика ?
 
Цитата
Quikos написал:
Цитата
Anton Belonogov написал:
Quikos , добрый день.

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Может быть Вы изучите и проблему с SetUpdateCallback ? Который срабатывает Только после второго запуска скрипта или подтвердите, что такая странная работа SetUpdateCallback и задумана разработчиками Квика ?
Вот тут проблема описана: https://forum.quik.ru/forum10/topic7771/
 
Цитата
Anton Belonogov написал:
Quikos, добрый день.

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Здравствуйте,

Подскажите, излучилась ли проблема ?
 
Quikos, здравствуйте.

Мы продолжаем изучение вопроса по Вашему обращению. Как только работы будут завершены, мы отправим Вам соответствующее уведомление. Приносим извинения за задержку и доставленные неудобства.
 
Цитата
Anzhelika Belokur написал:
Quikos, здравствуйте.

Мы продолжаем изучение вопроса по Вашему обращению. Как только работы будут завершены, мы отправим Вам соответствующее уведомление. Приносим извинения за задержку и доставленные неудобства.
А можете обозначить хотя бы приблизительное сроки ?
А то на форуме не мало подобных сообщения по типу "проблема изучается. Постараемся в ближайшее время дать ответ." - которые висят годами без ответа. :(
 
Quikos, к сожалению, мы не можем Вам назвать сроков решения Вашего обращения.
 
Цитата
Anzhelika Belokur написал:
Quikos, к сожалению, мы не можем Вам назвать сроков решения Вашего обращения.
Тогда я буду опрашивать в цикле.
 
Quikos, добрый день.

Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().
 
Спасибо.
 
Цитата
Anton Belonogov написал:
Quikos, добрый день.

Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().

Столкнулся с данной проблемой в терминале версии 10.0.1.18, ds:SetEmptyCallback() перед ds:Close() не решает проблему.
Есть еще идеи как это обойти на данный момент?
 
Станислав, добрый день.

Просим Вас предоставить для анализа используемый Lua-скрипт или его фрагмент, в котором локализуется проблема.
Вы можете отправить информацию на нашу почту quiksupport@arqatech.com, в этом случае необходимо указать в письме ссылку на данную тему форума.
Страницы: 1
Читают тему
Наверх