3Qu
3Qu личный блог
21 марта 2020, 19:30

Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL.

Признаться уже достал этот 32-битный Quik 7. Работать стало почти невозможно, начал подвисать практически на пустом месте. А если повесить на Quik Lua, а к Lua прицепить DLL, то вообще все эпизодически вставало. DLL-ки, вообще-то, многопоточные и освобождают вызывающие потоки (события) Lua практически за миллисекунды, но если таких событий много Quik встает. Хотя, он и без Lua и DLL тоже регулярно встает.)

Были и другие причины ухода от 32-бит Quik, но это уже связано с брокером и другими факторами.
Итак, новый брокер — новый 64-битный Quik 8.4.1.6. Наконец сбылась мечта идиота!
Что можно сказать, — х64 Quik работает гораздо лучше, все равно временами немного подвисает, но, вроде, некритично. После логин-пароля, прежде чем работать надо подождать, — потоки обезличенных сделок начинают работать только через 3-4 минуты после старта. В общем, с этим все более-менее ОК.
Следующий этап — надо переводить весь подключаемый к Quik софт с х86 на х64, и если есть исходники, то никаких проблем не должно появиться. Если вы не используете в своем софте каких либо дополнительных DLL, то все должно ограничиваться двумя действиями.
1. Меняете в проекте С++ в разделе Файлы ресурсов 32-битную версию файла Lua5.1.lib на 64-битную версию Lua5.1.lib,
2. Выставляете в свой свойствах проекта компиляцию в x64. Можно даже так:

Смена x86  Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL.


И все должно скомпилироваться и заработать.
При компиляции вылезает масса некритичных предупреждений (это все, при необходимости, можно исправить позднее) о несответствии формата int формату Lua, однако все действительно без ошибок компилируется. Но, при подключении к Lua не работает.
Lua нам как ошибку выдает примерно следующее — «приложение не является 32-битным… и не может...».
Хм. Неужели в х64 терминале Lua осталась 32-битной? Ладно, грузим старую 32-бит версию DLL — ошибка та-же самая. Бред какой-то.
Читаем инет — предлагается сунуть в папку терминала другую, правильную, версию Lua5.1.dll. М-да, сунуть то сунем, но Quik тут же обнаружит, что версия не та, обновится и заменит ее своей родной. Может кому это и нормально, но нормальные герои всегда идут в обход, и меня этот вариант не устроил.
Если кого такой вариант устроит, то «правильные» х64 Lua5.1.dll и Lua5.1.lib можно скачать с сайта Lua ( luabinaries.sourceforge.net/ ).
Для тех, у кого не получилось будет следующая часть. Но это если не получится.

15 Комментариев
  • meat
    21 марта 2020, 19:41
    ты серьезно считаешь, что проблема quik была в 32 битах?
  • Алексей Никитин
    22 марта 2020, 06:44
    https://arqatech.com/ru/support/files/quik-workstation/
    в каждой  версии  описание недоделок,   если нажать на цифарки
  • Алексей Никитин
    22 марта 2020, 07:36
    Скачиваете новейшую версию квика,  настраиваете файлы IP.cfg   ключи подкидываете, настраивате  конфиг ключей, и  готово. За редким исключением  у  любого брокера взлетит новая версия.  Если не взлетит, значит у вашего брокера старый 32 битный сервер. Бегите от такого брокера. Потому  как за полдня торгов  32 бита на сервере переполняются, при текущей волатильности.
  • tranquility
    23 марта 2020, 08:22
    но Quik тут же обнаружит, что версия не та, обновится и заменит ее своей родной. Может кому это и нормально, но нормальные герои всегда идут в обход, и меня этот вариант не устроил.
    так я не понял, удалось решить проблему с обновлением на неправильную версию dll? Думаю, самый простой вариант — в поддержку написать, пусть пофиксят. Не самому же бинарник квика патчить…
  • Kot_Begemot
    03 апреля 2020, 08:00
    &*@#^%^@& #($&#(    #&^$*#&^  #&^$&*^$^@

    сам бы не додумался  name.dll менять на name.dll

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн