Сложности, замечания по работе с trans2quik.dll.

Страницы: 1
RSS
Сложности, замечания по работе с trans2quik.dll.
 
Добрый день. Возникли определенные вопросы по работе с инструментарием trans2quik.dll. Версия файла 1.2.0.3. Версия Quik 7.8.1.21.
  1. В руководстве по quik, в шестой главе, описаны названия функции и прототипы функций на c++. Почему нельзя было написать в руководстве имена функций, так как они именуются в dll. Иначе нельзя вызвать требуемую функцию, её просто нет.
  2. В руководстве есть описание 18-ти функции. В библиотеке их 68 шт. Есть ли где-то описание на остальные функции? Или они только для служебных нужд dll?
  3. При вызове функции TRANS2QUIK_CONNECT возвращаемое функцией значение = 14, что соответствует константе wrong input params. Первый параметр при вызове функции СИ строка “E:\QuikJunior”, далее: указатель на long, указатель на строку, указатель на long. Почему не получается успешно выполнить функцию не понятно.
Буду признателен за помощь. PS. : Обращаюсь к библиотеке из VB6.0
 
Здравствуйте,
1. Вопрос к сожалению не понятен.
2. Использовать следует только те функции которые описаны в документации. Какого-либо секретного документа не существует.
3. Проверьте включена ли обработка внешних транзакций в терминале.
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
1. Вопрос к сожалению не понятен.
2. Использовать следует только те функции которые описаны в документации. Какого-либо секретного документа не существует.
3. Проверьте включена ли обработка внешних транзакций в терминале.

1. По первому вопросу, например, если вызвать функцию по имени TRANS2QUIK_CONNECT, то такой функции в библиотеке нет. Возникает ошибка, связанная с тем, что функция не найдена. Вызываю функцию под псевдонимом _TRANS2QUIK_CONNECT@16. Она в библиотеке присутствует, но возвращает ошибку 14. Может я вызываю не ту функцию. Какую тогда нужно вызвать, чтобы установить соединение dll с quik.
2. Обработка внешних транзакций в терминале включена.  
 
Приведите пример кода где вы объявляете функцию и где вызываете
 
Цитата
<#0>Sergey Gorokhov написал:
Приведите пример кода где вы объявляете функцию и где вызываете
 
У Вас как то не корреткно указано
Код
        MsgBox TRANS2QUIK_CONNECT(strPathToExe, lngExtendedErrorCode, strErrorMessage, lngErrorMessage Size )


Попробуйте как-то так:

Код
       
Dim pnExtendedErrorCode As Long
Dim lpstrErrorMessage As String * 250
Const dwErrorMessageSize = 250
    FunctionResult = TRANS2QUIK_CONNECT("E:\FinamJunior\", pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
 
Цитата
Sergey Gorokhov написал:
У Вас как то не корреткно указано
Код
          MsgBox TRANS2QUIK_CONNECT(strPathToExe, lngExtendedErrorCode, strErrorMessage, lngErrorMessage  Size  )
  


Попробуйте как-то так:
Код
         
Dim pnExtendedErrorCode As Long
Dim lpstrErrorMessage As String  *   250 
Const dwErrorMessage Size   =   250 
    FunctionResult  =  TRANS2QUIK_CONNECT("E:\FinamJunior\", pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessage Size )
  
Все, разобрался. Поменял в объявлении функции byval на byref, заработало. Извиняюсь за нелепую ошибку. Теперь возвращает 0, т.е. success. Спасибо за помощь.  
 
Добрый день. Возник такой концептуальный вопрос. Подключаю dll к квик, подключено. Проверяю подключение квика с Интернетом, подключено. Вроде все нормально. Далее, вызываю функцию subscribe_orders, затем start_orders(orders_status_callback). subscribe_orders возвращает успех. По start_orders не определить, успешно ли завершена функция, но завершена, управление возвращено в вызывающую процедуру. В orders_status_callback – тишина. Что за данные должны поступать в эту процедуру после start_orders? Данные котировок по инструментам? Почему-то ничего нет, но в графике цена – объем в самом квике идет обновление данных по поводу торгов. Кок сделать так, что trans2quik.dll получала эти данные, которые обновляются в квике, как написано чуть выше. Пример с sample_excel тоже не дал это информации.
 
Цитата
С помощью функции TRANS2QUIK_SUBSCRIBE_ORDERS можно получить информацию о собственных заявках, из таблицы заявок.
Для запуска процесса получения информации по заявкам нужно также вызвать функцию TRANS2QUIK_START_ORDERS.
Вот ответ на мой вопрос. Может кому-то поможет.
Страницы: 1
Читают тему (гостей: 1)
Наверх