Из за того, что у меня накрылся на прошлой неделе арендуемый физический сервер, я решил его проапгрейдить заодно установить в ВТБ новый квик.
В ВТБ в частности постоянно прилетало сообщение, что надо устанавливать новый квик, что то там с нумерацией заявок на срочном рынке, а так же о том, что версия ЛУА, встроенного в квик, тоже проапгрейдится, и возможно скрипты работать не будут.
Все это пугало, так как программист из меня никакой, все что я умею, это нагуглить, как написать простые логические действия в Питоне или Луа.
В каждом втором посте было что то про перекомпиляцию, а это для меня вообще не понятно, о чем речь.
Что значит перекомпиляция, если я в блокноте написал код, потом выбрал этот файл в квике, и запустил его нажав на треугольничек?
Ну ладно, деваться некуда, тем более, что когда с сайта ВТБ качаешь дистрибутив квика, там сейчас безвариантивно доступна только версия 8.5
Установил запустил. Скрипт, как и следовало ожидать, на первый взгляд, заработал сразу, без всяких «перекомпиляций». Потому что он написан в блокноте, а переводит в машинный код его (если я правильно понимаю, как все устроено) непосредственно встроенный в квике модуль ЛУА.
Сам запускаемый скрипт Луа устроен так, что реагирует на события Квика, прошло событие, просто отправляет инфу о событии в скрипт Питона. А уже оттуда по алгоритму отправляются ордера через trans2quik.dll в Квик. Почему я всю логику не написал на Луа, это отдельная тема (я пробовал, но получилось коряво).
И вот отправление в Питон я сделал через сокеты, это какая то библиотека, которую я в прошлом году нарыл в интернете - core.dll.
И когда произошло событие, вылезла ошибка. Луа скрипт событие не отправил, а просто ругнулся насчет того, что какая то проблема в core.dll. И тут до меня дошло, что по переделывать нужно вот такие ДЛЛ библиотеки.
На текущий момент для меня это не преодолимое препятствие, я не то что не знаю, как ее переделать, я не знаю как вообще такие библиотеки создаются. При этом, очевидно, что никто новые библиотеки еще не успел создать, или перекомпилировать.
Решение следующее, в квике есть (могут быть) файлы lua51.dll lua53.dll, lua5.1.dll, qlua.dll, может еще какие.
В новом квике были три последних файла, а в старом квике только два файла — первый и последний (при этом первый файл я ранее тоже вместе с библиотекой сокетов качал откуда то и тоже им подменил исходный в свое время).
Я просто тупо удалил все эти файлы в новом квике, и вместо них скопировал эти два файла со старого квика.
И все, вуаля, заработало как ни в чем ни бывало.