Некорректный ответ Trans2Quik.dll при включенном терминале (TRANS2QUIK_DLL_NOT_CONNECTED)

Страницы: 1
RSS
Некорректный ответ Trans2Quik.dll при включенном терминале (TRANS2QUIK_DLL_NOT_CONNECTED)
 
Добрый день!
На сервере, на 64-разрядной версии Windows 2012 R2, версия 1.2 Trans2Quik работает исправно.
На локальной машине, после перехода с 32-й на 64-ю пропал коннект.
Функция TRANS2QUIK_CONNECT теперь при включенном терминале возвращает TRANS2QUIK_DLL_NOT_CONNECTED, как при запуске в режиме отладки, так и при запуске exe-файла.
При подключении dll версии 1.3 приложение на Delphi выдает критическую ошибку – «Ошибка при запуске приложения…».
В чем может быть проблема?

ОС – Windows 10 Pro x64
QUIK – 7.14.1.7, брокер – БКС. Обработка внешних транзакций включена.
Trans2Quik.dll – 1.2.
 
Добрый день,

Для проверки работоспособности *dll рекомендуем воспользоваться примерами, расположенными на нашем сайте по ссылке:
http://arqatech.com/upload/iblock/80a/Trans2QuikAPI_1.3_x64.zip
 
Добрый день, Станислав!

Приложение корректно работает на Windows Server 2012.
И так же корректно работало на Windows XP, Windows 7, Windows 8 и Windows 10 32-й разрядности.
Как только была установлена 64-разрядная Windows 10, коннект r Quik пропал.

Я почему-то ожидал что вы знаете, какие подводные камни могут "выплыть" при переходе с x86 на x64.
Но никак не ожидал предложения "сравнить свою версию на Delphi  с нашими C++ и C#". И найти отличия...

P.S. Неправильно написал в первом сообщении.
Ошибка в TRANS2QUIK_CONNECT. На выходе - TRANS2QUIK_FAILED. pnExtendedErrorCode возвращает код 5.
Как следствие - следующая ошибка в TRANS2QUIK_IS_DLL_CONNECTED. На выходе - TRANS2QUIK_DLL_NOT_CONNECTED.

С уважением,
Сергей.
 
Цитата
Сергей написал:
Я почему-то ожидал что вы знаете, какие подводные камни могут "выплыть" при переходе с x86 на x64.
Но никак не ожидал предложения "сравнить свою версию на Delphi  с нашими C++ и C#". И найти отличия...

Использовать версию 1.3 не обязательно, тем более что Ваше приложение остается 32х разрядным.
В связи с чем, предлагаем разобраться с версией 1.2.

Заранее отмечаем что ни у нас ни у кого-либо еще не возникало проблем с работой версии 1.2. именно из-за х64 битной ОС.
А значит причину надо искать не в подводных камнях а в настройках проекта.

Для начала, проверьте банальные вещи:
А именно, включен ли импорт транзакций в терминале QUIK (меню Сервисы - Экспорт/Импорт данных - Внешние транзакции)?
Корректно ли указан путь к папке с терминалом QUIK в параметрах подключения? (особенно следует обратить внимание что в х64 битной системе две папки "Program Files")
И наконец, проверьте наш пример если он работает, значит причина в некорректном коде Вашего приложения..
 
Добрый день, Сергей!

С версией 1.2 я разобрался еще 5 лет назад))
И модуль работы с API с тех пор не трогал.

Цитата
Sergey Gorokhov написал:
Для начала, проверьте банальные вещи:
А именно, включен ли импорт транзакций в терминале QUIK (меню Сервисы - Экспорт/Импорт данных - Внешние транзакции)?
Корректно ли указан путь к папке с терминалом QUIK в параметрах подключения? (особенно следует обратить внимание что в х64 битной системе две папки "Program Files")

Это тоже все проверил в первую очередь.

Цитата
Sergey Gorokhov написал:
Заранее отмечаем что ни у нас ни у кого-либо еще не возникало проблем с работой версии 1.2. именно из-за х64 битной ОС.

Ну это уже хоть что-то.

Спасибо. Буду копать вместе с C++.
 
Точно такая же проблема. Не работают стандартные примеры. TRANS2QUIK_CONNECT возвращает TRANS2QUIK_FAILED, а pnExtendedErrorCode возвращает код 5.
Терминал запущен, импорт внешних транзакций включен.

В чем может быть проблема?
 
Проблема решилась после переустановки КВИКа с последнего дистрибутива.  
 
Добрый день!

Наконец-то удалось решить проблему с подключением Trans2Quik.dll 1.2 на Windows 10 x64 (TRANS2QUIK_CONNECT возвращал "Connection failed at step 1 with error 5").

Решение навеял пост http://o-s-a.net/forum/threads/385.
В итоге, после некоторых комбинаций с разными правами, коннект нормально установился при запуске Quik в режиме совместимости с Windows 8 (в свойствах файла info.exe, вкладка "Совместимость").

Господа разработчики, вам решать, правильно это или нет, но, на мой взгляд, это некорректная реализация dll.

P.S. чистая установка (по совету Дмитрия) не помогла.
 
Так-то ошибка 5 это ACCESS DENIED, что, по-видимому, случается при попытке открыть пайп (или другой объект), созданный от другого сида, когда квик и внешняя программа работают от разных юзеров. Для решения надо на стороне квика при создании этого объекта указывать список доступа, включающий SID "авторизованные пользователи" или даже "все", обычно же все просто NULL указывают, задавая тем самым список по умолчанию (и арка вряд ли исключение), а тут подкрадывается майкрософт и в десятке этот список меняет. И попробуйте найти в доках майкрософта, что именно они там поменяли, ежли есть неделька свободная. Так что по итогу вина все же скорей на майкрософте, для времени своей разработки длл была сделана нормально.
 
PS. А вот что supportedOS в манифесты добавили, фактически не проведя никаких работ по совместимости, это уже на билла не списать. Но тут уж кого премировать есть сугубо внутреннее дело арки.
Страницы: 1
Читают тему (гостей: 4)
Наверх