ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Пользователь
Сообщений: Регистрация: 27.09.2022
28.09.2022 10:58:57
nikolz, спасибо, так действительно работает. Привычка с бейсика, нумеровать 10,20,30
В самом деле, бывают же ситуации, когда колонка больше не нужна или нужно вставить колонку между другими. Да и 8.3 работает.
ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Пользователь
Сообщений: Регистрация: 27.09.2022
27.09.2022 22:49:50
Владимир, ну вот да. Ошибка то воспроизводится легко, может разработчики обратят внимание.
ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Пользователь
Сообщений: Регистрация: 27.09.2022
27.09.2022 22:34:23
Цитата
Владимир написал: Да, ещё момент: ГДЕ ИМЕННО Вы это дело красите? Всё это дело нужно выполнять в потоке мейна.
Да, все верно, именно в main . Выше выкладывал код всего скрипта, там видно.
Сейчас запустил в Quik 8.3.1.38 — все отлично работает.
Разработчики помогите! )
ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Пользователь
Сообщений: Регистрация: 27.09.2022
27.09.2022 21:56:14
Цитата
Владимир написал: , Во-первых, уберите нафиг RGB - эта, с позволения сказать, функция возвращает трёхбайтовое число, старший байт которого - B, а младший - R. Во-вторых, в SetColor добавьте ещё два аргумента: -1, он же QTABLE_NO_INDEX.
ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Пользователь
Сообщений: Регистрация: 27.09.2022
27.09.2022 20:50:36
Цитата
Владимир написал: , Во-первых, уберите нафиг RGB - эта, с позволения сказать, функция возвращает трёхбайтовое число, старший байт которого - B, а младший - R. Во-вторых, в SetColor добавьте ещё два аргумента: -1, он же QTABLE_NO_INDEX.
С RGB понял идею - передавать сразу значения, не используя доп функцию. Кстати, есть уже опыт, что использование RGB может вызывать ACCESS VIOLATION или это вопрос к разработчикам?
С QTABLE_NO_INDEX не понял Мне же нужно закрасить конкретную ячейку и значит нужно передать конкретные значения. По количеству вроде везде всех аргументов хватает.
ACCESS VIOLATION в Quik 9.3.3.3 при запуске скрипта без сторонних DLL
Просьба прислать полный код используемого скрипта, запуская который сталкиваетесь с ошибкой AV для анализа
Такая же ошибка. Удалось воспроизвести ее и выделить. на QUIK 9.4.2.1 и 9.5.0.42 и 9.2.0.121 LUA 5.4.1
Полный код:
Код
dofile(getScriptPath() .. "\\dll_test_crash.lua")
is_run = true
function OnInit()
KomCentrID = AllocTable()
AddColumn (KomCentrID, 10, "Описание/Действие", true, QTABLE_STRING_TYPE,60)
AddColumn (KomCentrID, 20, "Результат", true, QTABLE_STRING_TYPE,20)
CreateWindow(KomCentrID)
SetWindowPos(KomCentrID,1100,250,400,500)
end
function main()
while is_run do
Body()
end
end
function OnStop()
is_run = false
end
Код
function Body()
sleep(100)
InsertRow(KomCentrID,1)
SetCell(KomCentrID, 1, 10, "COMPLETE")
SetCell(KomCentrID, 1, 20, "COMPLETE")
SetColor(KomCentrID,1,20,RGB(217,255,217),RGB(1,1,1),RGB(220,220,220),RGB(0,0,0)) --зеленый
end
Через примерно 100-200 вызовов Body(), QUIK либо закрывается, либо ошибка ACCESS VIOLATION