lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

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...


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:

Hope that helps!

----- Original Message ----- From: "joerg piringer" <>
To: "Lua list" <>
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...