QUIK 8.0

Страницы: Пред. 1 2 3 4
RSS
QUIK 8.0
 
Цитата
Александр Волфовиц написал:
unsigned переменных нет вообще, код написан очень просто.
Имею в виду что-нибудь типа такого (тоже ведь ничего сложного)
Код
long pos = 0;
FILE * f = fopen(...);
...
fseek(f, pos * sizeof(RECORD), SEEK_SET);
fwrite(...); ++pos;
Вот здесь после переполнения pos начнутся чудеса. Более того, его переполнение это UB, компайлер может еще и от себя чудес добавить. Этот пример должен без ворнингов собраться (разве что только deprecation, на который все плюют обычно и отключают его макросом), а чудо заложено.
 
Цитата
Александр написал:
Цитата
MikhaZz написал:

Отдельно собранная библиотека luasocket с lua x64
 https://drive.google.com/file/d/1MtCcT_aRByKLiFVHtiemD_KQyqNbeNPp/view?usp=sharing  

Библиотеки luasocket и luasec установленные и собранные при помощи luarocks
 https://drive.google.com/file/d/1CL_Sz5dMre9ZhDeYp32CFOzX0BnkGWBo/view?usp=sharing  

Пример получения данных из 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': Не найден указанный модуль"
Путь правильный...
В чем может быть проблема? Ткните носом плиз)))
Вам нужно скопировать файлы libcrypto-1_1-x64.dll и libssl-1_1-x64.dll в папку C:\Windows\System32(ну или где установлена винда) либо в другую папку где у вас определена среда PATH(как посмотреть ее гуглите)
Если нет этих файлов то качайте https://slproweb.com/products/Win32OpenSSL.html
https://slproweb.com/download/Win64OpenSSL-1_1_1g.exe полная версия текущая
https://slproweb.com/download/Win64OpenSSL_Light-1_1_1g.exe легкая версия текущая
по умолчанию при установки файлы сами с копируются в System32(там будет предложено куда копировать в bin или System32)
 
Цитата
Александр Волфовиц написал:
Nikolay,эта утилита - ForDump - публичная? Или нужно персонально обращаться в компанию?

И ещё: причину "падения" вы так и не нашли? А как работал ваш драйвер на 32bit?
Наверно публичная, раз она есть на ftp: ftp://ftp.quik.ru/public/ForDump.7z

Запустить файл procdump.exe с ключом -e -ma -accepteula -w info.exe .\

Сделать это можно через командную строку, введя команды

cd <путь к каталогу ForDump>
(например: cd C:\ForDump)

procdump.exe -e -ma -accepteula -w info.exe .\

Вы также можете создать ярлык файла procdump.exe и в его свойства в поле "Объект" в конце строки через пробел добавить -e -ma -accepteula -w info.exe .\

Пример:
Объект: C:\ForDump\procdump.exe -e -ma -accepteula -w info.exe .\

Выполнить команду, либо запустить ярлык с заданными ключами надо в соответствии с ранее изложенной инструкцией - во время воспроизведения проблемного поведения терминала.

В 32 бита, конечно, все работало. Я когда собирал для 64 бита типы переменных менял на соответствующие из ODBC 64 бита. Они другие должны быть. Правда в 64 бита отвалилась часть функциональности из библиотеки. В частности fetch. cur:fetch({}, "a") - в x86 работает, а в x64 - нет. Пришлось переписать на обход курсора через итератор.

Так что здесь что-то действительно из области взаимодействия. Т.к. при отладке через VS тоже Квик не падал. Когда появлялось окно ошибки, я запускал отладку VS, пропускал ошибки - Квик продолжает работать и даже выводит данные из базы.

Я решил отложить пока отладку всеx библиотек. Пусть сначала выйдет что-то стабильное.
 
Цитата
Андрей написал:
Цитата
Александр написал:
 
Цитата
MikhaZz  написал:

Отдельно собранная библиотека luasocket с lua x64
  https://drive.google.com/file/d/1MtCcT_aRByKLiFVHtiemD_KQyqNbeNPp/view?usp=sharing  

Библиотеки luasocket и luasec установленные и собранные при помощи luarocks
  https://drive.google.com/file/d/1CL_Sz5dMre9ZhDeYp32CFOzX0BnkGWBo/view?usp=sharing  

Пример получения данных из 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"  )



      
 
 
С вашими архивами и вашим примером выдает ошибку
"error loading module 'ssl.core' from file 'C:\Lua\systree\lib\lua\5.1\ssl.dll': Не найден указанный модуль"
Путь правильный...
В чем может быть проблема? Ткните носом плиз)))
Вам нужно скопировать файлы libcrypto-1_1-x64.dll и libssl-1_1-x64.dll в папку C:\Windows\System32(ну или где установлена винда) либо в другую папку где у вас определена среда PATH(как посмотреть ее гуглите)
Если нет этих файлов то качайте  https://slproweb.com/products/Win32OpenSSL.html
https://slproweb.com/download/Win64OpenSSL-1_1_1g.exe  полная версия текущая
https://slproweb.com/download/Win64OpenSSL_Light-1_1_1g.exe  легкая версия текущая
по умолчанию при установки файлы сами с копируются в System32(там будет предложено куда копировать в bin или System32)
Супер! Спасибо. Все заработало после установки. Теперь Телеграм под 8.5 робит)
 
Nikolay, файлы *,dmp могут расшифровать только в ARQA? Самостоятельно понять причину невозможно?
 
Цитата
Александр Волфовиц написал:
Nikolay, файлы *,dmp могут расшифровать только в ARQA? Самостоятельно понять причину невозможно?
Думаю что да. Я их отправлял на адрес тех. поддержки.
 
Цитата
Александр Волфовиц написал:
файлы *,dmp
Открываются вижл студией. Но там мало чего полезного увидите без сорцев квика.
 
Nikolay,объясните ещё раз для тупых )) Сначала запускаем fordump , потом QUIK ? Или fordump сама запускает QUIK ?
 
Я уже точно не помню. Но, кажется, сначала запускам Квик, чтобы был активный процесс info.exe. А потом запускаем fordump с указанным ключами.

C:\ForDump\procdump.exe -e -ma -accepteula -w info.exe .\
 
Цитата
Александр Волфовиц написал:
Nikolay,объясните ещё раз для тупых )) Сначала запускаем fordump , потом QUIK ? Или fordump сама запускает QUIK ?
Добрый день.

Последовательность такая:

-Запустить Quik, и добиться ситуации проявления проблемы
-Запустить скрипт
-Подождать несколько (3-5) минут (!!!)
 
Цитата
Anton написал:
обычно это повреждение стека тем или иным способом.
Вы правы, функция из C++ возвращала слишком много параметров в LUA-скрипт (оказывается, по умолчанию 20 элементов стека, у меня было больше)


Проблема решилась увеличением количества элементов стека с помощью lua_checkstack
 
Можно просто вернуть таблицу и не больше не задумываться о подобных проблемах
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Добрый день!
Прошу поделиться информацией касаемо компиляции ЛУА скрипта в 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-х битной версии программы.

Прошу подсказать в чём ошибка компиляции, или где можно подчерпнуть информацию по данному вопросу.
 
Цитата
Максим написал:
касаемо компиляции ЛУА скрипта в 64 бит-ной 8-й версии
Еще б написали, в какой именно восьмой. Луа 53 начиная с 8.5, в более ранних луа 51, видимо в более ранней запускаете.
 
Цитата
Anton написал:
Цитата
Максим написал:
касаемо компиляции ЛУА скрипта в 64 бит-ной 8-й версии
Еще б написали, в какой именно восьмой. Луа 53 начиная с 8.5, в более ранних луа 51, видимо в более ранней запускаете.
Да версия 8.4, если использовать lua-5.1.5_Win64_bin, порядок компиляции тот же, что описан выше?
 
Цитата
Максим написал:
порядок компиляции тот же
Видимо да.
 
Цитата
Максим написал:
Цитата
Anton написал:
 
Цитата
Максим  написал:
касаемо компиляции ЛУА скрипта в 64 бит-ной 8-й версии
 Еще б написали, в какой именно восьмой. Луа 53 начиная с 8.5, в более ранних луа 51, видимо в более ранней запускаете.
Да версия 8.4, если использовать lua-5.1.5_Win64_bin, порядок компиляции тот же, что описан выше?
Вроде разобрался, всё заработало, действительно использовал не той версии бинарник.
Спасибо!
 
Цитата
MikhaZz написал:
Собрал luasocket и luasec под lua 5.3 x64
Для линковки использовал эти библиотеки
!!! имя библиотеки lua53.dll
https://sourceforge.net/projects/luabinaries/files/5.3.5/Windows%20Libraries/Dynamic/lua-5.3.5_Win64...

Архив со сборкой здесь
https://drive.google.com/file/d/1NiIfSLRcJUV7IdqnZVadtRmD3z2H5Q3Y/view?usp=sharing
Коллеги, прощу помощи.

Под 5.1 все работало.

Под 5.3 скачал архив по второй ссылке выше, подключил, получаю ошибку module 'ssl.https' not found:

Мой код:
package.cpath  =   getScriptPath ()  ..   "\\5.3\\?.dll;"   ..  package.cpath
package.path  =   getScriptPath ()  ..   "\\5.3\\?.lua;"   ..  package.path

local  https  =   require ( "ssl.https" )

Подскажите в чем может быть проблема? Файлы libssl-1_1-x64.dll и libcrypto-1_1-x64.dll в System32 имеются. Windows 10, QUIK 8.7.0.6
 
А где находится архив всех версий Quik? Что-то я попадаю на quik-jubior Только https://arqatech.com/ru/support/files/quik-workstation/
 
Vladimir, здравствуйте.

Уточните, пожалуйста, что Вы имеете в виду под "всеми" версиями? Может другие виды программ: браузерный WebQUIK, приложения для смартфонов и планшетов QUIK Android X / iQUIK X?
 
Quik рабочее место для Windows, те что брокеры выдают, но у них как правила можно скачать одну почти последнюю версию.
 
Цитата
Vladimir написал:
Quik рабочее место для Windows, те что брокеры выдают, но у них как правила можно скачать одну почти последнюю версию.
Архивы всех доступных брокерских версий находятся у самого брокера. Если Вам необходим дистрибутив QUIK определенной версии для работы с сервером брокера - следует обратиться непосредственно к нему.
Однако, если брокер по каким-либо причинам не предоставил Вам нужный архив, Вы можете скачать необходимую версию с нашего публичного FTP: ftp://ftp.quik.ru/public/updates/
Файлы из скачанного архива нужно распаковать в папку, в которой установлен Ваш QUIK (но желательнее сделать это в копию папки с терминалом, во избежание каких-либо затруднений), и подтвердить замену.
 
Цитата
Вячеслав написал:
Цитата
MikhaZz написал:
Собрал luasocket и luasec под lua 5.3 x64
Для линковки использовал эти библиотеки
!!! имя библиотеки lua53.dll
 https://sourceforge.net/projects/luabinaries/files/5.3.5/Windows%20Libraries/Dynamic/lua-5.3.5_Win64...  

Архив со сборкой здесь
 https://drive.google.com/file/d/1NiIfSLRcJUV7IdqnZVadtRmD3z2H5Q3Y/view?usp=sharing  
Коллеги, прощу помощи.

Под 5.1 все работало.

Под 5.3 скачал архив по второй ссылке выше, подключил, получаю ошибку module 'ssl.https' not found:

Мой код:
package.cpath  =   getScriptPath ()  ..   "\\5.3\\?.dll;"   ..  package.cpath
package.path  =   getScriptPath ()  ..   "\\5.3\\?.lua;"   ..  package.path

local  https  =   require ( "ssl.https" )

Подскажите в чем может быть проблема? Файлы libssl-1_1-x64.dll и libcrypto-1_1-x64.dll в System32 имеются. Windows 10, QUIK 8.7.0.6
Добрый день!

Такая же история - все сделал, как указано, но файл ssl.https не найден.
Физически этого файла тоже нет, есть только ssl.dll и ssl.lib

Нужна помощь...
 
LuaSec работает поверх LuaSocket.

Код
require("socket")
require("ssl")

-- TLS/SSL client parameters (omitted)
local params
 
local conn = socket.tcp()
conn:connect("127.0.0.1", 8888)
 
-- TLS/SSL initialization
conn = ssl.wrap(conn, params)
conn:dohandshake()
--
print(conn:receive("*l"))
conn:close()
 
Артем, спасибо за помощь!

Но у меня не работает эта конструкция - 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 - как один из факторов при принятии решения по инструменту.
Может для этого существует более простое решение, но я пока его не нашел.
 
Это только бинарник. Дистрибутив luasocket также включает несколько скриптов (главный - с именем socket.lua), которые потом и загружают core.dll.
 
Добрый день. Дайте,пожалуйста, ссылочку, на luac.exe,что бы  можно было скомпилировать файл для версии lua 5.3.5. На более ранние версии, которые нашел в lua for windows ругается (версия 5.1.4).
 
Добрый день,

Lua не является разработкой компании, поэтому необходимую Вам информацию по решению проблемы предлагаем искать в Интернете.
 
Цитата
Руслан написал:
Добрый день. Дайте,пожалуйста, ссылочку, на luac.exe,что бы  можно было скомпилировать файл для версии lua 5.3.5. На более ранние версии, которые нашел в lua for windows ругается (версия 5.1.4).
http://luabinaries.sourceforge.net/
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
Страницы: Пред. 1 2 3 4
Читают тему
Наверх