Подключение библиотеки Trans2QUIK.dll

Страницы: 1
RSS
Подключение библиотеки Trans2QUIK.dll
 
Добрый день,
У меня не получается установить соединение с Trans2QUIK.dll
- Версия QUIK 7.6.1.1.
- Скачал с сайта Trans2QuikAPI_1.3
- Положил в папку QUIK с файлом INFO.EXE полученные  файлы trans2quik.dll, trans2quik_api.h и trans2quik.lib
- В меню Сервисы / Экспорт/импорт данных / Внешние транзакции нажал кнопку "Начать обработку"

Код скрипта:

PathToInfo = "C:\QUIK"
res=TRANS2QUIK_CONNECT(PathToInfo, pnExtendedErrorCode, lpstrErrorMessage, dwErrorMessageSize)
message(" res "..tostring(res), 1)

При запуске скрипта получаю ошибку: "attempt to call global 'TRANS2QUIK_CONNECT' (a nil value)"

Подскажите, пожалуйста, что я делаю не так и как надо подключать библиотеку.
 
В скриптах на Lua эта библиотека вообще не нужна, она используется для отправки транзакций внешними приложениями.
 
Спасибо, конечно, за ваше мнение. Но, я хотел бы, получить ответ на вопрос - как подключиться к библиотеке из Lua.
 
Александр Ковальский,

Для подключения библиотек в Lua существует функция require.
Однако совершенно не понятно зачем это нужно, ведь в Lua есть все что есть в Trans2QUIK и даже больше.
На наш взгляд такая схема абсолютно лишена смысла.
 
Огромное спасибо за ответ.

Что касается целесообразности применения, то, наверное, с точки зрения ПРОГРАММИСТА функционал Lua позволяет сделать все лучше, быстрее и т.д. и т.п.. Но, к сожалению, я в программировании "чайник" или даже ещё хуже. Поэтому, чтобы написать модуль подобный TRANS2QUIK_SEND_SYNC_TRANSACTION мне нужно жизнь положить.

К сожалению, в описании QLua ничего нет про функцию require. Поэтому вопросы:

1. Подключится ли библиотека при таком коде:

package.path="C:\QUIK"
require("Trans2QUIK.dll")

если библиотека лежит в указанной папке?

2. Будут ли работать из Lua все её функции?  

Заранее спасибо.
 
Цитата
Александр Ковальский написал:
Но, к сожалению, я в программировании "чайник" или даже ещё хуже
Тем более, не надо делать то что никто до Вас не делал.

Цитата
Александр Ковальский написал:
Поэтому, чтобы написать модуль подобный TRANS2QUIK_SEND_SYNC_TRANSACTION мне нужно жизнь положить.
А зачем Вам это? В QLua есть замечательная функция sendTransaction

Цитата
Александр Ковальский написал:
К сожалению, в описании QLua ничего нет про функцию require.
Потому что это функция не QLua, а обычного Lua и описана она в документации на обычный Lua http://www.lua.ru/doc/5.3.html

Цитата
Александр Ковальский написал:
1. Подключится ли библиотека при таком коде:
2. Будут ли работать из Lua все её функции?  

никто никогда такого не делал, поэтому увы с ответом подсказать не можем.
 
К сожалению, sendTransaction только отправляет транзакцию. Потом много чего ещё нужно будет дописывать: убедиться, что транзакция исполнена; получить номер заявки и т.д. плюс воевать на каждом этапе с временем ответов. Всё это сложно.
Вы так и не ответили на первый вопрос - подключится ли библиотека? Или надо что-то ещё дописать?
 
Цитата
Александр Ковальский написал:
Всё это сложно.
Это не сложнее чем делать то что никто до Вас не делал.
Вам всего-то нужно подавать транзакцию через sendTransaction  с каким, нибудь уникальным TRANS_ID и далее ждать ответа в событии OnTransReply



Цитата
Александр Ковальский написал:
подключится ли библиотека? Или надо что-то ещё дописать?
Если trans2quik.dll будет лежать в той же папке что и lua скрипт, напишите так:
Код
ScriptPath = getScriptPath()
package.cpath = ScriptPath .. "\\?.dll;".. package.cpath
package.path = ScriptPath .. "\\?.lua;".. package.path
local api = require('trans2quik')
assert(api)


Однако, как уже было сказано, нам не известно будет ли оно работать или нет, так как никто до этого такую схему не делал.
Проверьте самостоятельно.
 
Огромное спасибо за ответ.
Я внял Вашим предупреждениям. Но, все-таки, попробую.
 
Цитата
Александр Ковальский написал:
Огромное спасибо за ответ.
Я внял Вашим предупреждениям. Но, все-таки, попробую.
"А доцент Питяев - тупой!" (С) Жванецкий

Неужели нет лучшего приложения упорства?
Страницы: 1
Читают тему
Наверх