Вопрос к знающим и к поддержке: почему происходит утечка памяти? Версия Quik 8.10.1.1
Ниже привожу коды скриптов. С первым память утекает просто моментально. Со вторым меньше и не так резво, но утечка все равно есть.
| Код | 
|---|
| is_run = true
function main()
  while is_run do
    local dt = os.date("!*t", os.time())
    sleep(500)
  end
end
function OnStop()
  is_run=false
end
 | 
Второй скрипт, утечка меньше, но имеется (нужно запустить и подождать минут 5, запомнив изначальное значение выделенной памяти)
| Код | 
|---|
| is_run = true
function main()
  while is_run do
    local curHour = tonumber(os.date("%H", os.time()))
    local curMin = tonumber(os.date("%M", os.time())) -- %S - сек
    local curDay = tonumber(os.date("%w", os.time())) -- диапазон, 0-6, соответствует Sunday-Saturday
    local year = tonumber(os.date("%Y", os.time()))
    local month = tonumber(os.date("%m", os.time()))
    local day = tonumber(os.date("%d", os.time()))
    sleep(500)
  end
end
function OnStop()
  is_run=false
end
 | 
Сразу поясню: эти два скрипта в таком виде НЕ несут смысловой нагрузки. Они являются лишь частью рабочего скрипта. Но именно этот код вызывает утечку. Посмотреть это можно открыв окно "Доступные скрипты" и наблюдать за колонкой "Память, KB". Для первого скрипта она будет расти, как бешеная сразу после запуска. Для второго не так сильно и куда медленнее, но расти будет.
Собственно, вопрос: че происходит?! Т.е. даже если нет сборщика мусора - это ведь не повод жрать память бесконтрольно! К слову сказать, обнуление переменных с помощью "х = nil" - не помогает! Использование глобальных переменных вместо local так же не помjгает! Отсюда вопрос: че за дичь?!