[python-win32] Problem passing a VARIANT argument to a method of aCOM object

Sumeet Sobti sumeet_sobti at yahoo.com
Tue Feb 7 00:57:18 CET 2006


--- Mark Hammond <mhammond at skippinet.com.au> wrote:

> >
> > Does the error above show with some certainty that
> > it's a problem with the COM object?
> 
> Sadly it doesn't demonstrate much with any
> certainty!

Humm... Is there a way to debug the python side more
carefully? E.g., using a lower-level interface in the
pythoncom module or something?

> 
> > I looked at the other COM objects in the API
> package
> > that this particular COM object belongs to. A few
> > other objects have a similar method that is
> documented
> > to accept a String and a Variant argument. They
> work
> > fine.
> >
> > Their definitions in the makepy generated file
> look
> > like this:
> >
> > 	def Set(self, vKey=defaultNamedNotOptArg,
> > newVal=defaultNamedNotOptArg):
> > 		"""method Set"""
> > 		return self._oleobj_.InvokeTypes(4, LCID, 1,
> (24,
> > 0), ((12, 1), (12, 1)),vKey, newVal)
> >
> > And these methods seem to work just fine. Is this
> > sufficient evidence to say that the AddTest method
> is
> > incorrectly implemented?
> 
> That is strange - any of their methods correct use a
> string, but AddTest
> appears to spell it in a different way.

Did you mean to say that the other methods are
specifying/processing their arguments in the correct
way?

The AddTest does surely seem to be implemented in a
different way.

> Is it
> possible for you to contact
> the authors of this object?

Yes, I sent them my 3-line failing Python program, and
they just sent me back a C# code fragment, which, they
claim, works correctly. But I need to make it work in
Python since the rest of my code is in Python.

I haven't tried executing the C# code, but if that
works, then that points to a potential bug in
pywin-32.

Is there a documented way to debug the Python side?

Thanks!

-Sumeet.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the Python-win32 mailing list