Сегодня брокер Альфа обновил Квик с версии 8.8… до версии Quik 8.11.0.66. Появился кроме Lua 5.3.5 еще и Lua 5.4.1. Отлично, мне бы радоваться, давно этого хотел. Но...
Запустил рабочую в Quik 8.8 версию системы использующую DLL, И увидел вот это:
Во первых, ничего не работает даже в уже отлаженной версии Lua 5.3.5. Вы видите на картинке, что Lua не нравится 64-бит DLL, и она хочет 32-битную.
Во вторых, то ли Quik стал опять 32-х битным (пока не смотрел), то ли Lua в Quik стала снова 32-х битной, а это означает, что все надо переделывать с 64 бит на 32 бит. С чем боролись, на то и напоролись. Вечный кайф.
Признаться, сильно лень переделывать все опять на 32 бит, тем более, многих библиотек для DLL С++ для 32 бит просто не существует в природе.
О моей борьбе с этим буду сообщать. Наверно, дополнением этого топика. Подписывайтесь, чтобы ничего не пропустить. Мало ли, м.б. решение и найдется.
Квик не стал 32-битным. Если Вы запустили dll, скомпилированную под lua 5.3 в режиме 5.4, то и не будет работать.
Необходимо собрать ее для lua 5.4 или продолжать использовать в режиме lua 5.3. По крайней мере никаких проблем не наблюдается не на 8.11 ни на 8.12.
Все индикаторы и пр. Луа (которые без DLL) как работали, так и работают.
3Qu, Вы всегда можете проверить какая версия lua используется при запуске, выведя значение константы _VERSION. Не думаю, что ваш брокер решил что-то сделать с дистрибутивом. 32-бит версия будет иметь проблемы с 19 знаками в номерках заявок срочного рынка.
Данная ошибка просто говорит о несовместимости библиотек. А не то, что она 32 бит.
Проверил в предыдущей версии терминала — нет проблем.
На всяк случай удалял даже scripts.dat, переименовывал файлы Луа — не помогает.
Откровенно, думаю, что вряд ли они на 32 бит поменяли, но просит-то она 32 бит.
Мистика.(( ))
Чую копать нужно в сторону «путей», что то там не ладно.
Вполне возможно, что с поиском Луа путей они и напутали. В Луа вполне определенная процедура поиска путей, м.б. с ней действительно что-то не в порядке. Как раз в этом направлении начал копать.
Ошибка -«не является приложением Win32», по видимому, осталась в наследие от предыдущих, еще 32-бит версий Квик.
С путями, по сути, у вас тоже косяк. Надо их делать относительными к .lua скрипту, а не рассчитывать на то, что по умолчанию будет то, что вам нужно. В это случае проблем бы с изменением базового пути при обновлении Quik не было бы.
Что касается путей, то ошибок нет.Есть Луа переменные PATH и CPATH — там все пути определены. Достаточно путей по умолчанию.
В 8.11 не совсем в путях дело, а в некой ошибке в задании путей при запуске. Об этом написал в след топике. В итоге, обновил до 8.12, и все стало на свои места.