Invalid Context из CreateDataSource

Страницы: 1
RSS
Invalid Context из CreateDataSource, при работе с Lua из С++
 
Пытаюсь работать с Lua из dll
вот такой код, см ниже. Функция testDS вызывается из lua, без параметров
и по идее должна возвращать датасорс, по аналогии с CreateDataSource

функция message - это аналог Lua message, выдаёт окошко с сообщением в квике
сообщения по ходу программы такие
before create datasource
pcall succeeded
after create datasource
2
ds is nil
invalid context
nil

вопрос: что означает сообщение об ошибке "invalid context" при вызове createdatasource?
что не так?
спасибо!

Код
int testS(lua_State *L, LPCSTR cl, LPCSTR sec, double interval){
      lua_getglobal(L, "CreateDataSource");
      lua_pushstring(L, cl);
      lua_pushstring(L, sec);
      lua_pushnumber(L, interval);

      message(L, "before create datasource");
      if (lua_pcall(L, 3, 2, 0)!=0){
         message(L, "pcall unsucceeded");
         message(L, lua_tostring(L, -2));
      } else {
         message(L, "pcall succeeded");
      }
      message(L, "after create datasource");
      char x[10];
      itoa(lua_gettop(L), x, 10);
      message(L, x);
      if (lua_isnil(L, -2)){
         message(L, "ds is nil");
         message(L, lua_tostring(L, -1));
      }
      lua_remove(L, -1);
      // -2 = массив
      message(L, lua_typename(L, lua_type(L, -1)));
      message(L, lua_tostring(L, -1));
      return 1;
}

int testDS(lua_State *L){
   testS(L, "SPBFUT", "Si-6.16", 1);
   return 1;
}
 
Наверное вместо "Si-6.16" надо передавать "SiM6".
 
не, дело не в этом было.
как оказалось я передавал lua_State не из main
Страницы: 1
Читают тему
Наверх