[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: Manupulating Objects within Lua
- From: "Ashley Fryer" <lua@...>
- Date: Mon, 4 Oct 1999 03:19:16 -0700
>
> What information do I need to save for each member to be able to
> retrieve and modify the object later. My first try (And basicly all my
> tries in different shapes) is releated to save the lua_Object for the
> table and the index .. But this seems to go wrong.. Is the lua_Object a
> safe value to save outside blocks ? Is there an easier way
>
No, lua_Objects are volatile and should never be cached. Instead, you
should cache _references_ to lua objects.
To convert a lua_Object to a reference:
lua_pushobject( some_object );
int cached_ref = lua_ref( 1 );
To convert a reference to a lua_Object:
lua_Object some_object = lua_getref( cached_ref );
To stop caching the reference:
lua_unref( cached_ref );
So, your tree control should store references, and then convert the
references to objects as required.
ashley