win32com, string array --> Type mismatch?

Roger Upole rupole at hotmail.com
Fri Aug 8 23:11:15 EDT 2003


I've run into the same problem with Reflection.  This is what I do to get
around it:
import win32com.client
###win32com.client.gencache.EnsureDispatch('Reflection2.Application',0)
###only need to do above once
ra=win32com.client.Dispatch('Reflection2.Application')
m=win32com.client.gencache.GetModuleForProgID('Reflection2.Application')
r=m.Application(ra)
r.Visible=1
r.WaitForStrings(('xxxxx','yyyyyy'),0,1)
  I'm probably using an older version of Reflection than you are (there is
no
   Session object) but the same principles should apply.
   hth
   Roger

"Harry Pehkonen" <harry.pehkonen at hotpop.com> wrote in message
news:70df36e9.0308081207.550c1dc1 at posting.google.com...
> I'm running WRQ's Reflection telnet client
> (win32com.client.Dispatch("Reflection2.Session")).  It appears I can
> only do late binding.  There is one method that takes a ``string
> array,'' and fails with:
>
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in ?
>   File "Reflection.py", line 549, in goto_switch
>     result = self.connection.WaitForStrings(waitfor_strngs)
>   File "Reflection.py", line 399, in WaitForStrings
>     options)
>   File "<COMObject Reflection2.Session>", line 2, in WaitForStrings
> com_error: (-2147352571, 'Type mismatch.', None, 1)
>
> I've tried providing lists and tuples of strings, lists and tuples of
> unicode strings.
>
> makepy -i reports:
>
>     Warning - could not load registered typelib
>
> Without the -i, it creates CLSID
> 0DE5A6C0-4B0D-101B-AC7B-04021C007002.py, but when I run the telnet
> client, COM Browser says it's F29799A0-4B0C-101B-AC7B-04021C007002
> (off a bit).  The 0DE...py module mentions this CLSID F29...
>
> I tried renaming and importing the 0DE...py file, but I still get the
> Type mismatch.
>
> In short, is there something specific I need to do in order to pass a
> ``string array'' from Python to a COM server when I'm (I think) stuck
> with late binding?
>
> Thanks!
> Harry.
>
> PS.  Please reply to this group as I get a ton of spam.






More information about the Python-list mailing list