thanks for the detailed analysis and the clear explanation. I've been
looking
at the code and probably have another, even better, approach.
The missing 'extra' parameter in the create(cls, value, extra=None)
implementaition
in comtypes\safearray.py, line 62, that you retrieve from the 'value'
parameter
is defined in an outer scope of this method, in line 44 in the enclosing
'_make_safearray_type' function. So it seems the easiest way to pass this
parameter
to 'create(...)' is this simple patch:
(...)
I've tried your approach and it works. You're right, your solution is
better, I did not see that the extra variable was bound in the
_make_safearray_type closure.
This patch also has the advantage that you not only can pass a sequence
of 'Pair' structures, in your case, as return value from your
ITest_Test(...)
method, but you can also return simply a sequence of tuples like so:
def ITest_Test(self, in, out):
return [(u'1', u'2'), (u'2', u'3')]
Right, that's how I wanted to write the return value originally, but because
I thought I needed to get a value for extra somehow, I had to return a list
of Pair instances.
Saludos,
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
___
comtypes-users mailing list
comtypes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/comtypes-users