Столкнулся с проблемой при работе с тиками через CreateDataSource.
Запускаешь квик, таблица обезличенных сделок пока пустая (удалить alltrade.dat для воспроизведения), квик начинает быстро грузить сделки.
В это время работает мой скрипт, который берет данные тиков, например ds:T(i), ds:V(i).
Скрипт падает в ошибку: Critical error ACCESS_VIOLATION in script C:\LuaScripts\TestQuikLua\test_ds5.lua
Ошибка возникает во второй половине дня, когда новых тиков много и квик долго их прокачивает.
Т.е. проблема когда квик активно закачивает сделки и скрипт работает с DataSource.
Воспроизводится в 8.5.2 и 8.6. До версии 8.5 данной проблемы не было.
Код скрипта для воспроизведения:
Запускаешь квик, таблица обезличенных сделок пока пустая (удалить alltrade.dat для воспроизведения), квик начинает быстро грузить сделки.
В это время работает мой скрипт, который берет данные тиков, например ds:T(i), ds:V(i).
Скрипт падает в ошибку: Critical error ACCESS_VIOLATION in script C:\LuaScripts\TestQuikLua\test_ds5.lua
Ошибка возникает во второй половине дня, когда новых тиков много и квик долго их прокачивает.
Т.е. проблема когда квик активно закачивает сделки и скрипт работает с DataSource.
Воспроизводится в 8.5.2 и 8.6. До версии 8.5 данной проблемы не было.
Код скрипта для воспроизведения:
Код |
---|
is_run = true function main() message("start", 1) while is_run do TestDS("RIM0") sleep(10) end; end function OnStop() message("stop", 1) is_run = false end function TestDS(tiker) local ds, errorDescr = CreateDataSource("SPBFUT", tiker, 0) local size = ds:Size() for i = 0, size do local time = ds:T(i) end message("DS " .. tiker .. " " .. size, 0) end |