Александр Волфовиц написал: unsigned переменных нет вообще, код написан очень просто.
Имею в виду что-нибудь типа такого (тоже ведь ничего сложного)
Код
long pos = 0;
FILE * f = fopen(...);
...
fseek(f, pos * sizeof(RECORD), SEEK_SET);
fwrite(...); ++pos;
Вот здесь после переполнения pos начнутся чудеса. Более того, его переполнение это UB, компайлер может еще и от себя чудес добавить. Этот пример должен без ворнингов собраться (разве что только deprecation, на который все плюют обычно и отключают его макросом), а чудо заложено.
Пример получения данных из blackterminal, если положить библиотеки из архива по ссылке выше в папку со скриптом, то все должно работать
Код
package.cpath = getScriptPath () .. "\\systree\\lib\\lua\\5.1\\?.dll;" .. package.cpath
package.path = getScriptPath () .. "\\systree\\share\\lua\\5.1\\?.lua;" .. package.path
--package.cpath = "C:\\Lua\\luarocks\\systree\\lib\\lua\\5.1\\?.dll;" .. package.cpath
--package.path = "C:\\Lua\\luarocks\\systree\\share\\lua\\5.1\\?.lua;" .. package.path
local https = require ( "ssl.https" )
PrintDbgStr ( "Start: [" .. getScriptPath () .. "]" )
is_run = false
function OnInit ()
is_run = true
end
function main ()
local request_body = "{ \" getemlist \" : \" flag \" , \" key \" : \" TEST \" }"
local response_body = {}
local res, code, headers, status = https.request{
url = "https://blackterminal.ru/api/0.0.8" ,
method = "POST" ,
headers =
{
[ "Content-Type" ] = "application/json; charset=utf-8" ;
[ "Content-Length" ] = string.len (request_body);
},
source = ltn12. source.string (request_body),
sink = ltn12. sink.table (response_body),
}
PrintDbgStr ( "res: " .. tostring(res))
PrintDbgStr ( "code: " .. tostring(code))
PrintDbgStr ( "headers: " .. tostring(headers))
PrintDbgStr ( "status: " .. tostring(status))
PrintDbgStr ( "body: " .. tostring( table.concat (response_body)))
end
function OnStop ()
is_run = false
end
function On Close ()
is_run = false
end
С вашими архивами и вашим примером выдает ошибку "error loading module 'ssl.core' from file 'C:\Lua\systree\lib\lua\5.1\ssl.dll': Не найден указанный модуль" Путь правильный... В чем может быть проблема? Ткните носом плиз)))
Сделать это можно через командную строку, введя команды
cd <путь к каталогу ForDump> (например: cd C:\ForDump)
procdump.exe -e -ma -accepteula -w info.exe .\
Вы также можете создать ярлык файла procdump.exe и в его свойства в поле "Объект" в конце строки через пробел добавить -e -ma -accepteula -w info.exe .\
Выполнить команду, либо запустить ярлык с заданными ключами надо в соответствии с ранее изложенной инструкцией - во время воспроизведения проблемного поведения терминала.
В 32 бита, конечно, все работало. Я когда собирал для 64 бита типы переменных менял на соответствующие из ODBC 64 бита. Они другие должны быть. Правда в 64 бита отвалилась часть функциональности из библиотеки. В частности fetch. cur:fetch({}, "a") - в x86 работает, а в x64 - нет. Пришлось переписать на обход курсора через итератор.
Так что здесь что-то действительно из области взаимодействия. Т.к. при отладке через VS тоже Квик не падал. Когда появлялось окно ошибки, я запускал отладку VS, пропускал ошибки - Квик продолжает работать и даже выводит данные из базы.
Я решил отложить пока отладку всеx библиотек. Пусть сначала выйдет что-то стабильное.
С вашими архивами и вашим примером выдает ошибку "error loading module 'ssl.core' from file 'C:\Lua\systree\lib\lua\5.1\ssl.dll': Не найден указанный модуль" Путь правильный... В чем может быть проблема? Ткните носом плиз)))
Добрый день! Прошу поделиться информацией касаемо компиляции ЛУА скрипта в 64 бит-ной 8-й версии QUIK. При запуске скомпилированного скрипта выходит ошибка "bad header in precompiled chunk". Компиляция скрипта была выполнена с использованием lua-5.3.5_Win64_bin (также в 4- версии), при этом последовательность действий была следующая: 1. Создал текстовый файл: Интерпритатор 64.txt; 2. Прописал в файл команду: luac53.exe -o "Robot.luac" "Robot.lua"; 3. Поменял расширение файла bat, т.е. получил исполняющий файл Интерпритатор 64.bat; 4. Далее скопировал полученный файл Интерпритатор 64.bat, а также файлы из архива lua-5.3.5_Win64_bin (lua53.dll, lua53.exe, luac53.exe, wlua53.exe), в папку со скритом Robot.lua; 5. Исполнил команду двойным нажатием на файл Интерпритатор 64.bat, и получил скомпилированный файл Robot.luac; 6. Далее переименовал Robot.luac, предварительно удалив файл Robot.lua, в Robot.lua; 7. Далее запуск скрипта в QUIK и ошибка о которой писал выше, вся последовательность действий по аналогии компиляции с помощью LuaForWindows для 32-х битной версии программы.
Прошу подсказать в чём ошибка компиляции, или где можно подчерпнуть информацию по данному вопросу.
Уточните, пожалуйста, что Вы имеете в виду под "всеми" версиями? Может другие виды программ: браузерный WebQUIK, приложения для смартфонов и планшетов QUIK Android X / iQUIK X?
Vladimir написал: Quik рабочее место для Windows, те что брокеры выдают, но у них как правила можно скачать одну почти последнюю версию.
Архивы всех доступных брокерских версий находятся у самого брокера. Если Вам необходим дистрибутив QUIK определенной версии для работы с сервером брокера - следует обратиться непосредственно к нему. Однако, если брокер по каким-либо причинам не предоставил Вам нужный архив, Вы можете скачать необходимую версию с нашего публичного FTP: ftp://ftp.quik.ru/public/updates/ Файлы из скачанного архива нужно распаковать в папку, в которой установлен Ваш QUIK (но желательнее сделать это в копию папки с терминалом, во избежание каких-либо затруднений), и подтвердить замену.
Но у меня не работает эта конструкция - module 'socket' not found.
В архиве luasocket_luasec_5.3_x64.zip есть:
Код
папка mime - внутри core.dll и core.lib
папка socket - внутри core.dll и core.lib
файл ssl.dll
файл ssl.lib
я так понимаю, что должен быть еще socket.dll для x64...
Задача - я хочу спарсить рекомендацию с сайта ru.investing.com - как один из факторов при принятии решения по инструменту. Может для этого существует более простое решение, но я пока его не нашел.
Добрый день. Дайте,пожалуйста, ссылочку, на luac.exe,что бы можно было скомпилировать файл для версии lua 5.3.5. На более ранние версии, которые нашел в lua for windows ругается (версия 5.1.4).
Руслан написал: Добрый день. Дайте,пожалуйста, ссылочку, на luac.exe,что бы можно было скомпилировать файл для версии lua 5.3.5. На более ранние версии, которые нашел в lua for windows ругается (версия 5.1.4).