Trans2QuikAPI_1.3_x64 + QUIK 7.9.1.1 = TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND, Не удается добиться подключения к QUIK в варианте Trans2QuikAPI_1.3_x64 + QUIK 7.9.1.1
Под Windows10 х64 работает QUIK 7.9.1.1. В нем включена опция "обработка внешних транзакций" (статус: "Работает"). Пытаюсь подключиться библиотекой Trans2Quik.dll к QUIK. Библиотека подключается к приложению, а вот при команде CONNECT возвращает TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND
Аналогично моему приложению отрабатывают обе (и MFC, и .Net) тестовые утилитки, вложенные в http://arqatech.com/upload/iblock/80a/Trans2QuikAPI_1.3_x64.zip Утилиты, Trans2Quik.dll, и сам QUIK лежат в одном каталоге. Пробовал на трех компьютерах (все Windows10 х64). Пробовал также QUIK 7.2....
Где можно порыться в поисках решения? Спасибо большое всем ответившим.
Проверьте внимательней какой путь указан в параметре lpcstrConnectionParamsString функции TRANS2QUIK_CONNECT Там должен быть указан путь к папке с нужным терминалом. например строка: "C:\QUIK"
Mack написал: Где можно порыться в поисках решения?
В старых версиях TRANS2QUIK в параметре lpcstrConnectionParamsString должен быть указан не путь к папке, где лежат файлы терминала, а путь к его рабочей папке (working directory) - той, из которой он был запущен. Часто бывает, что это не одно и тоже.
Добрый день! Та же проблема подключения к терминалу. Внешние транзакции включены. Ваш пример проверял, работает. Подключаюсь к Quik версия 7.19.0.51 Проблема в том, что result выдает "2", TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND. Подскажите пожалуйста, что делаю не так.
#include<Windows.h> #include<iostream>
using namespace std;
long __stdcall TRANS2QUIK_CONNECT(LPCSTR lpcstrConnectionParamsString, long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize);
if (!hMyDll) { // ошибка, невозможно загрузить DLL MessageBox(NULL,"Error","trans2quik.dll - невозможно загрузить DLL", MB_OK | MB_ICONHAND); } else { // берем адрес функции pfnTRANS2QUIK_CONNECT =(TRANS2QUIK_CONNECT)GetProcAddress(hMyDll, "TRANS2QUIK_CONNECT");
if (!pfnTRANS2QUIK_CONNECT) { // ОШИБКА : не найдена такая функция MessageBox(NULL, "Error", "TRANS2QUIK_CONNECT() - не найдена такая функция", MB_OK | MB_ICONHAND); } else {
LPCSTR lpcstrConnectionParamsString = "C:\QuikFinam"; long pnExtendedErrorCode; LPSTR lpstrErrorMessage=""; DWORD dwErrorMessageSize=0;
// вызов функции result
long result = pfnTRANS2QUIK_CONNECT(lpcstrConnectionParamsString, &pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize);
В старых версиях TRANS2QUIK в параметре lpcstrConnectionParamsString должен быть указан не путь к папке, где лежат файлы терминала, а путь к его рабочей папке (working directory) - той, из которой он был запущен. Часто бывает, что это не одно и тоже.