- Code: Tout sélectionner
#include <os.h>
#include <lauxlib.h>
static int left() {
return isKeyPressed(KEY_NSPIRE_LEFT);
}
static const luaL_reg lualib[] = {
{"left", left},
{NULL, NULL}
};
int main(void) {
lua_State *L = nl_lua_getstate();
if (!L) return 0; // not being called as Lua module
nl_relocdata((unsigned*)lualib, (sizeof(lualib) / sizeof(unsigned*)) - 2);
luaL_register(L, "mylua", lualib);
return 0;
}
Et voici le code lua d'essai :
- Code: Tout sélectionner
require "mylua"
i=0
function on.paint(gc)
if mylua.left() then
gc:drawString("Iter:"..i,0,0,"top")
end
end
function on.timer()
i=i+0.02
platform.window:invalidate()
end
timer.start(0.02)
A l'exécution, tout se passe bien sauf à partir d'un certain moment ou ça plante (après 5 à 10 secondes).
Je suppose qu'il doit y avoir une saturation mémoire ou quelque chose du genre qui fait que ça plante. Mais je ne sais pas résoudre le problème.
Quelqu'un comprend t'il le problème ?