[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: lua globals and C code
- From: Denis Andreev <denq@...>
- Date: Wed, 28 Aug 2002 12:07:07 +0400
Hi!
We use our own dynamic package system (luax).
GAA> poslib = {}
GAA> local f, e = loadlib("lposlib.dll", "lua_poslibopen")
GAA> if not f then
GAA> error(e)
GAA> end
GAA> setglobals(f, poslib) -- (this does not work)
GAA> f()
GAA> But, I cannot set the globals table for a C function
May by you try this may:
poslib = {}
local f, e = loadlib("lposlib.dll", "lua_poslibopen")
assert(f, e)
f(poslib)
and in your C code:
static int poslib_globals_ref = 0;
static int lua_poslibopen(lua_Stack *L) {
poslib_globals_ref = lua_ref(L, 1);
...
return 0
}
And in other functions you may use this reference.
--Denq