Тема: Проблема с обновлением данных в таблице созданной из Lua (Решено)
Уже 3 часа пытаюсь понять в чем причина. Не обновляются данные в таблице, пока не проведу по ней мышью.
Код уж совсем простой и тут какие-то у меня не понятки вышли. Может кто сталкивался с такой проблемой. Данные через message() идут нормально, а вот в таблице не обновляются пока окно таблицы не получит какое-либо сообщение
Сам код:
-- Переменны для замены на данные хранящиеся в настройках скрипта
local secCode = "MMZ4"
local atrID = "MXI_ATR"
local priceID = "MXI_PRICE"
--Переменные для замены на данные получаемые из терминала
local digit = 2
--Переменные глобальных таблиц и окон
local tableMain = nil
local hwndMain = nil
local isRun = true
function main()
    message("Hello. This is MambaBot",1)
    while isRun do
        if tableMain ~= nil then
            if IsWindowClosed(tableMain) then
                isRun = false
            end            
        end
        sleep(1000)
    end
    message("MambaBot has stopped")
end
function OnParam(class, sec)
    if(class=="SPBFUT" and sec==secCode) then
        if tableMain ~= nil then
            --Обновляем данные в ячеках главной таблицы
            SetCell(tableMain, 2, 1, getInfoParam("SERVERTIME"), 0)
            --message(getInfoParam("SERVERTIME"))
            local atrVal, count, legend
            atrVal, count, legend = getCandlesByIndex(atrID, 0, getNumCandles(atrID) - 1, 1)
            SetCell(tableMain, 7, 1, string.format("%." .. digit .. "f", atrVal[0].close), atrVal[0].close)
            local priceCandleVal
            priceCandleVal, count, legend = getCandlesByIndex(priceID, 0, getNumCandles(priceID) - 1, 1)
            print(count)
            SetCell(tableMain, 3, 1, string.format("%." .. digit .. "f", priceCandleVal[0].open), priceCandleVal[0].open)
            SetCell(tableMain, 4, 1, string.format("%." .. digit .. "f", priceCandleVal[0].high), priceCandleVal[0].high)
            SetCell(tableMain, 5, 1, string.format("%." .. digit .. "f", priceCandleVal[0].low), priceCandleVal[0].low)
            SetCell(tableMain, 6, 1, string.format("%." .. digit .. "f", priceCandleVal[0].close),
                priceCandleVal[0].close)
            message(string.format("%." .. digit .. "f", priceCandleVal[0].close))
        end
    end
end
function OnInit(script_path)
    tableMain = AllocTable()
    AddColumn(tableMain,0,"param",true,QTABLE_STRING_TYPE,12)
    AddColumn(tableMain,1,"value",true,QTABLE_STRING_TYPE,12)
    hwndMain = CreateWindow(tableMain)
    SetWindowCaption(tableMain,"MambaBot Main")
    local rowNum = 1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"Sec code",0)
    SetCell(tableMain,rowNum,1,secCode,0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"Time",0)
    SetCell(tableMain,rowNum,1,"00:00:00",0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"Open",0)
    SetCell(tableMain,rowNum,1,"0.0",0.0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"High",0)
    SetCell(tableMain,rowNum,1,"0.0",0.0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"Low",0)
    SetCell(tableMain,rowNum,1,"0.0",0.0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"Close",0)
    SetCell(tableMain,rowNum,1,"0.0",0.0)
    rowNum = rowNum+1
    InsertRow(tableMain,-1)
    SetCell(tableMain,rowNum,0,"ATR value",0)
    SetCell(tableMain,rowNum,1,"0.0",0.0)
    rowNum = rowNum+1
end
function OnStop(flag)
    if tableMain ~=nil then
        DestroyTable(tableMain)
    end
    isRun = false
    return 100
endЭто всего лишь набросок будущего робота, просто на скоряк кодил, вспоминал как работать с таблицами и получением данных
