Trans2QuikAPI_1.3_x64 + QUIK 7.9.1.1 = TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND

Страницы: 1
RSS
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....

Где можно порыться в поисках решения?   Спасибо большое всем ответившим.
 
Mack,

Проверьте внимательней какой путь указан в параметре 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);

int main()

{


   typedef long(*TRANS2QUIK_CONNECT)(LPCSTR lpcstrConnectionParamsString, long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize);
   TRANS2QUIK_CONNECT pfnTRANS2QUIK_CONNECT;
   HINSTANCE hMyDll;


// грузим нашу DLL
hMyDll = LoadLibrary("trans2quik.dll");

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);


cout << pnExtendedErrorCode << endl;
cout << result << endl;
cout << dwErrorMessageSize << endl;




}
 
// освобождаем DLL
FreeLibrary(hMyDll);
}
system("pause");
return 0;
}
 
Добрый день,

Олег, проверьте рекомендацию из поста #3

Цитата
В старых версиях TRANS2QUIK в параметре lpcstrConnectionParamsString должен быть указан не путь к папке, где лежат файлы терминала, а путь к его рабочей папке (working directory) - той, из которой он был запущен. Часто бывает, что это не одно и тоже.
 
Цитата
Олег написал:
LPCSTR lpcstrConnectionParamsString = "C:\QuikFinam";
Путь надо указать через двойной слеш "C:\\QuikFinam"
Страницы: 1
Читают тему (гостей: 2)
Наверх