Тема: Вызов простой функции Lua из С++ ВСЕГДА приводит к ошибке
Вызов простой функции Lua из С++ ВСЕГДА приводит к ошибке:
Lua_code:
function my_func_Lua()
message("my_func_Lua")
end
function main()
Quik_Lua_connector = require("Quik_Lua_connector_TEST")
Quik_Lua_connector_TEST()
-------------------------
while not stopped do
sleep(1)
end
-------------------------
end
C++ код:
static int Quik_Lua_connector_TEST(lua_State* L)
{
std::cout << "Start" << std::endl;
lua_getglobal(L, "my_func_Lua"); // получаю функцию
//Проверяю, что на вершине стека находится теперь именно функция: int status_lua_is_function = lua_isfunction(L, -1);
std::cout << "status_lua_is_function:" << status_lua_is_function << std::endl; //return 1 - значит Lua функция.
int status = lua_pcall(L, 0, 0, 0); //Вызываю функцию без аргументов и бещ возвратного значения.
if (status != 0)
{
std::cout << "error:" << lua_tostring(L, -1) << std::endl; //ОШИБКА: error in error handling
}
}
lua_pcall ВСЕГДА завершается ошибкой "error in error handling"