Re: how to store a ref to a table without registry?
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: how to store a ref to a table without registry?
- From: joerg piringer <joerg@...>
- Date: 2008年3月20日 12:46:55 +0100
didn't think of that, thank you.
but maybe instead of storing a list of c++ object with references to lua
tables i should have a table of tables in lua...
best
joerg
Chris Swetenham schrieb:
If I understand correctly, you want to be able to store a reference to
the object from the C++ side without preventing it from being garbage
collected? If this is the case, then you can create a table in the
registry that has weak values, and store a reference in that table. See
section 2.10.2 of the reference manual:
http://www.lua.org/manual/5.1/manual.html#2.10.2
Hope that helps!
----- Original Message ----- From: "joerg piringer" <joerg@piringer.net>
To: "Lua list" <lua@bazar2.conectiva.com.br>
Sent: Thursday, March 20, 2008 11:17 AM
Subject: how to store a ref to a table without registry?
hallo all,
i am pretty new to lua so please forgive me if this question has been
asked before:
i'd like to access a function (or rather a method) inside a specific
table from c++. how can i do that without storing the reference to the
table in the registry?
the problem is when i store the reference in the registry it won't get
garbage collected, right?
i have the following code:
o = TestObject()
o.testFunc = function() print "test" end
TestObject() is a c++ function that returns a table with a userdata
inside (the actual c++ object).
now i'd like to call my testFunc from the c++ object that's inside the
table.
i did it with a reference (in the registry) to self (the table) until
i tried to garbage collect the objects...
best
joerg
--
http://joerg.piringer.net
http://www.transacoustic-research.com
http://www.iftaf.org
http://www.vegetableorchestra.org/
--
http://joerg.piringer.net
http://www.transacoustic-research.com
http://www.iftaf.org
http://www.vegetableorchestra.org/