Тема: Отписка callback`а SetUpdateCallbackcallback - отписывает ВСЕ заказы
После вызова callback`а от SetUpdateCallback - я сразу отписываюсь от callback`а, но отписываюсь именно от как бы первого объекта CreateDataSource, но почему от отписка происходит от всех последующих от CreateDataSource.
Вот такой простенький код:
function my_callback_CreateDataSource_HISTORY(my_table_data_history_candle_, code_class, code_paper, interval)
message("SIZE_TABLE:" ..tostring(my_table_data_history_candle_:Size()) )
my_table_data_history_candle_:Close() --отписываемся от callback`а. Нужен только первый вызов.
end
function my_callback_CreateDataSource_HISTORY_1(my_table_data_history_candle_, code_class, code_paper, interval)
message("SIZE_TABLE:" ..tostring(my_table_data_history_candle_:Size()) )
--Этот колбек уже не вызывается.
end
function main()
local code_class_= "TQBR"
local code_paper_= "ZVEZ"
local interval_= INTERVAL_W1
my_table_, error_desc = CreateDataSource(code_class_, code_paper_, interval_)
------------------------Проверка на ошибки:-------------------
if error_desc ~= nil then
message(error_desc)
end
--------------------------------------------------------------
my_table_:SetUpdateCallback(function(idx)my_callback_CreateDataSource_HISTORY(my_table_, code_class_, code_paper_, intervakla_) end)
code_class_= "TQBR"
code_paper_= "ZVEZ"
interval_= INTERVAL_M15
my_table_1, error_desc_1 = CreateDataSource(code_class_, code_paper_, interval_)
------------------------Проверка на ошибки:-------------------
if error_desc_1 ~= nil then
message(error_desc_1)
end
--------------------------------------------------------------
my_table_1:SetUpdateCallback(function(idx)my_callback_CreateDataSource_HISTORY_1(my_table_1, code_class_, code_paper_, intervakla_) end)
-------------------------
while not stopped do
sleep(1)
end
-------------------------
end -- end main()
То есть я вызываю CreateDataSource для двух значений, которые точно нужно заказывать на сервере.
На два значений вешаю callback`и.
Вызывается первый callback для my_table_ и сразу же отписываюсь от callback`а - НО отписка осуществляется и для таблицы my_table_1, то есть отписка осуществляется для всех ранее заказанных callback`ов для разных парамтеров.
Так и должно быть ?