Michael Bauroth wrote:
Hi,
I have implemented your solution, but had to change two lines because
of a compiler error (VS2008). What do you mean?
was ...
#define LCB_ADD_SET(fieldname) { #fieldname , set_##fieldname }
#define LCB_ADD_GET(fieldname) { #fieldname , get_##fieldname }
changed to ...
#define LCB_ADD_SET(fieldname) { #fieldname , &set_##fieldname }
#define LCB_ADD_GET(fieldname) { #fieldname , &get_##fieldname }
Indeed, I meant to take the address of the function (get_foo, set_foo).
It seems that with VC6 it was optional to use & in this case.
Just another question. What can I change to use the same solution as
well for methods with more than one parameter, e.g. instead of
btn:SetPosition( 1, 1 ) I want to use btn.Position = 1, 1?
I don't think this is possible since the __newindex and __index
metamethods don't take multiple values. There was some discussion of the
list some time ago about this.
What you might do instead is something like:
btn.Position = {1,1}
And deal with a table in your C++ implementation.
Regards,
Ignacio