> ... > if type(retVal) == types.TupleType: # Like pythoncom, we special case a tuple. > # However, if they want to return a specific HRESULT, > # then they have to return all of the out arguments > # AND the HRESULT. > if len(retVal) == len(meth._gw_out_args) + 1: > hr = retVal[0] > retVal = retVal[1:] > else: > raise TypeError, "Expected %s return values, got: %s" % (len(meth.
> I'm not sure what the original intent was, That looks suspect, yeah. I suspect the intent was to have another elseif that checked if the lengths were the same, in which case no hresult was provided. I'm out of time to get more context about this though, but the greater intent is that the author of the Python COM object should not care if they are using an IDispatch or vtable implementation of an interface, so the same code should work in both cases. The best thing you can do to help me move this forward would be to provide a test case using the existing 'pippo' tests in the win32com tree. Cheers, Mark _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32