Получение данных в стороннем софте через DLL из QLUA

Страницы: 1
RSS
Получение данных в стороннем софте через DLL из QLUA
 
Добрый день.

Есть необходимость получить данные о сделке в момент ее совершения в своей программе написанной на C++.

Как из QLUA отправить данные в свою DLL вроде нагуглил и разобрался. А как передать эти данные из DLL в свою программу, я что-то ума не дам. Опыта в этом нет, прошу помощи.

Мне необходимо в своей программе получать данные о сделке и инструменте в момент совершения сделки в Quik. И нужна именно реализация через свою dll. Ну то есть QLUA -> DLL -> C++ и все это в реальном времени.

Помогите примером, кто разбирается в теме, пожалуйста.
 
Цитата
Юрий написал:
Добрый день.

Есть необходимость получить данные о сделке в момент ее совершения в своей программе написанной на C++.

Как из QLUA отправить данные в свою DLL вроде нагуглил и разобрался. А как передать эти данные из DLL в свою программу, я что-то ума не дам. Опыта в этом нет, прошу помощи.

Мне необходимо в своей программе получать данные о сделке и инструменте в момент совершения сделки в Quik. И нужна именно реализация через свою dll. Ну то есть QLUA -> DLL -> C++ и все это в реальном времени.

Помогите примером, кто разбирается в теме, пожалуйста.
DLL умеете создавать?
----------------------------
В DLL пишите функцию на СИ, используя API C for lua   см здесь подробности:
https://www.lua.org/manual/5.4/manual.html#lua_pushlstring
-------------------------------------------------------------------------------------------
Будет примерно следующее:
Код
static int zerro(lua_State *L){   //это заголовок вашей обертки. Он всегда такой 
// если вам надо передать данные в DLL из lua то далее пишите прием этих данных в СИ
    long x=lua_tointeger(L,1) ;  //  это получили целое
    double z=lua_tonumber(L,2); // получили double
    char*ps=(char*)lua_tostring(L,3); //получили строку
//  здесь  делаете что хотите на СИ
...
// если надо выдать что-то в скрипт из вашей dll то пишем
     lua_pushinteger(L,x);   // вывели целое
     lua_pushnumberL,z);   //вывели вещественное
     lua_pushstring(L,ps);   //вывели строку
return 3;    //указали сколько вывели
}

Недавно предлагал на форуме библиотеку для передачи данных из процессов и потоков на любых языках для QUIK.
Оказалась, что никому не нужно.
===================  
Сомневаюсь, что сможете решить вопрос синхронизации потоков и процессов, если говорите, что лишь читали как делать.
---------------  
Рекомендую почитать книгу:
Джеффри РИХТЕР " Создание эффективных WIN32-приложений  с учетом специфики 64-разрядной  версии Windows"

 
DLL создавать умею. Но вы меня не совсем правильно поняли. Вопрос не в том как вернуть что-то из DLL в скрипт на lua, вопрос в том как передать дальше данные из DLL в сторонний софт. То есть мне нужна трансляция данных из QLUA в стороннюю программу через DLL в одну сторону. Вот я не совсем понимаю как это сделать в связке DLL и сторонний софт. Надо подгружать DLL в стороннюю программу и регистрировать колбеки чтобы при получении данных DLL передавала их дальше в мою программу или как ?? Вот мне такой пример нужен в виде кода.
 
Цитата
Юрий написал:
DLL создавать умею. Но вы меня не совсем правильно поняли. Вопрос не в том как вернуть что-то из DLL в скрипт на lua, вопрос в том как передать дальше данные из DLL в сторонний софт. То есть мне нужна трансляция данных из QLUA в стороннюю программу через DLL в одну сторону. Вот я не совсем понимаю как это сделать в связке DLL и сторонний софт. Надо подгружать DLL в стороннюю программу и регистрировать колбеки чтобы при получении данных DLL передавала их дальше в мою программу или как ?? Вот мне такой пример нужен в виде кода.
В сторонний софт однозначно надо будет делать dll, если в нем не предусмотрен какой-либо механизм получения данных из других процессов.
------------------
Вы можете сделать одну dll c функциями для Lua и вашего стороннего софта.
---------------------
Например, я делал dll, в которой функции для СИ и обертка к ним для Lua.  
------------------------------
В питоне  и Luajit есть возможность подключать dll на CИ.   Т е для них не надо писать специальную dll, а достаточно  dll на СИ.
---------------
 
Вы напишите, куда хотите передать, тогда отвечу более предметно.
 
Цитата
nikolz написал:
Вы напишите, куда хотите передать, тогда отвечу более предметно.
Передать мне надо в программу на C++
Очень хотелось бы пример в виде кода.
 
Цитата
Юрий написал:
Цитата
nikolz написал:
Вы напишите, куда хотите передать, тогда отвечу более предметно.
Передать мне надо в программу на C++
Очень хотелось бы пример в виде кода.
пример можно посмотреть в книге
Джеффри РИХТЕР " Создание эффективных WIN32-приложений  с учетом специфики 64-разрядной  версии Windows"
---------------------
Вам надо определиться с механизмом передачи.
 
Вы можете сделать проще , написав свою программу на С++ как dll для Lua и загрузить ее в свой скрипт оператором require.
Страницы: 1
Читают тему
Наверх