5.4.4 Extensible Interfaces

LuaCOM

next up previous contents Next: 5.4.5 Visual Basic© issue Up: 5.4 Important issues about Previous: 5.4.3 Receiving events   Contents

5.4.4 Extensible Interfaces

Some objects that have type information describing their interface (methods, properties, types of parameters etc), may add new methods and properties at runtime. This means that these methods and properties can only be accessed using the same mechanism LuaCOM uses for Generic COM object. This have some implications:

  • when accessing properties, it's mandatory to access them as methods and to use the set prefix to alter their values. If an object foo has a property color not present in the type information, it can only be accessed through foo:color() (read access) or foo:setcolor() (write access);

  • when calling methods, all parameters are treated as in-out. This means that, beyond the return value, a call to a method of this type will return all the parameters back, whether or not modified by the callee. Anyway, one can ignore these values simply not assigning them to a variable, e.g. x = foo:method(a,b) will ignore the values of a and b, also returned by the call.

COM objects related to WMI have this behavior. For more information, see section 3.3.2.


next up previous contents
Next: 5.4.5 Visual Basic© issue Up: 5.4 Important issues about Previous: 5.4.3 Receiving events   Contents
Fabio Mascarenhas de Queiroz 2005-01-07