I used MakePy on a COM library with some success, but it does not seem
to work with methods with passed-by-reference arguments. The
documentation, as I understand it, says that the c_fun(in1, in2,
*out1, *out2) should transform into (out1, out2) = py_fun(in1, in2).

For example, MakePy makes me the method

        def PickObject(self, obj=defaultNamedNotOptArg,
x=defaultNamedNotOptArg, y=defaultNamedNotOptArg,
z=defaultNamedNotOptArg
                        , obj_num=defaultNamedNotOptArg, 
entity_num=defaultNamedNotOptArg,
tolerance=9.9999997473787516e-06, PType=0):
                """Retrieve an object ID and face or edge number by giving an 
object
type and global coordinates"""
                return self._ApplyTypes_(76, 1, (24, 0), ((16387, 3), (12, 1), 
(12,
1), (12, 1), (16387, 3), (16387, 3), (5, 49), (3, 49)), u'PickObject',
None,obj
                        , x, y, z, obj_num, entity_num
                        , tolerance, PType)

where obj_num and entity_num are outputs. I cannot call this with
object.PickObject(10, 0, 0, 0) like I should be able to or with
object.PickObject(10, 0, 0, 0, pythoncom.Empty, pythoncom.Empty),
which I've seen suggested (or with anything else I've tried in the
last spots).

How do I get this to treat these arguments right?
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to