Ich will eine funktion der Klasse CPHLView (meine Ansichtsklasse) mit der lua funktion lua_register(...) für LUA verfügbar machen. Dabei bekomme ich immer wieder den fehler:
Das ist die Funktion, die lua_register aufruft
und das ist eine der funktionen die ich für lua verfügbar machen möchte:
: error C2664: 'lua_pushcclosure' : Konvertierung des Parameters 2 von 'int (struct lua_State *)' in 'int (__cdecl *)(struct lua_State *)' nicht moeglich
Das ist die Funktion, die lua_register aufruft
Code:
void CPHLView::OnExec()
{
lua_State* luaVM = lua_open();
lua_baselibopen(luaVM);
lua_iolibopen(luaVM);
lua_strlibopen(luaVM);
lua_mathlibopen(luaVM);
lua_register(luaVM, "Relais_On", l_Ron);
lua_register(luaVM, "Relais_Off", l_Roff);
lua_register(luaVM, "Wait", l_wait);
lua_dofile(luaVM, "test.txt");
lua_close(luaVM);
}
und das ist eine der funktionen die ich für lua verfügbar machen möchte:
Code:
int CPHLView::l_wait(lua_State *luaVM)
{
CRelaisCtrl *rl = new CRelaisCtrl;
rl->wait((int)lua_tonumber(luaVM, 1));
lua_pushnumber(luaVM, 0);
delete rl;
return 1;
}