Какая то странность.
Вызываю CreateDataSource их С++ с заведомо такими параметрами акций по которым в квике нет загруженных данных.
То есть CreateDataSource - возвращает пустую таблицу и я вызываю SetUpdateCallback:
Код |
---|
lua_getfield(L, index, "SetUpdateCallback"); //"Извлекаем" из "таблицы" функцию SetUpdateCallback. lua_pushvalue(L, index); //Помещаем копию обьекта таблицы на вершину стека. lua_pushcfunction(L, my_callback_); //Помещаем имя Сишой callback функции таблицы на вершину стека. int status_lua_pcall = lua_pcall(L, 2, 0, 0); //Реализую вызов метода SetUpdateCallback |
Код |
---|
static int my_callback_(lua_State* L) { std::cout << "my_callback_:" << lua_gettop(L) << std::endl; status = lua_isstring(L, 1); if (status == 1) { std::cout<< "lua_isstring:"<< lua_tostring(L,1) << std::endl ; } return 0; } |
И с одной стороны все нормально, my_callback_ - вызывается, НО с другой стороны - я ожидаю там увидеть таблицу запалённую данными свечей, а приходит строка:
Код |
---|
1 2 3 4 5 6 ... итд |
Такое ощущение, как будто бы похоже на размер таблицы, но в какой то момент это число доходит до 3007 и после этого так и приходит 3007 с последующими вызовами my_callback_ .
Непосредственно в скрипте Lua в квике такой странности не наблюдается, все работает нормально.
Что это может быть ?