[python-win32] Error: VARIANT Type is unknown

Olle Pontén olle.ponten at gmail.com
Fri Jan 22 07:31:06 EST 2021


Thanks for the response!
Hmm ok, I could find the following information using OLEView (se
attachment).
It states that the two in parameters are noted as VT_LPWSTR for the
scriptCmd command.
Would that mean that I have no way of interfacing with them at all?
I would prefer exhausting what I can do using python before I contact the
company, although if that is the only route available I will take it.

Kind Regards,
Olle

On Fri, Jan 22, 2021 at 5:26 AM Mark Hammond <skippy.hammond at gmail.com>
wrote:

>
> On 21/01/2021 10:00 pm, Olle Pontén wrote:
> > Hello!
> >
> > I'm quite new to the pywin32 package (as in I have never interacted with
> > it before).
> > I'm currently trying to implement a python interface to a win32 bit
> program
> > that I can connect to using the ordinary win32com.client.Dispatch method.
> > This program controls an microscope camera and the only way to connect to
> > it is via this COM connection.
> > There is already an version of this software written in pascal by the
> > manufacturers
> > so I'm trying to create an expanded python version of this software.
> >
> > I've managed to get the connection working and I can send commands that
> > do not
> > require any inputs and access the attributes of the interface/program.
> >
> > The problem is that when I try to send commands to one of two exposed
> > methods that require input I get the
> > follow error:
> >
> > s = win32com.client.VARIANT(pythoncom.VT_LPWSTR, 'On\0')
> >
> > r = win32com.client.VARIANT(pythoncom.VT_LPWSTR, 'AL\0')
> >
> > Response = AIPam.scriptCmd(r,s)
> > Traceback (most recent call last):
> >
> >    File "<ipython-input-38-c5635b52a462>", line 1, in <module>
> >      Response = AIPam.scriptCmd(r,s)
> >
> >    File
> >
> "C:\Users\GWHLAB~2\AppData\Local\Temp\gen_py\3.8\E07C24C7-56CE-409F-AB60-DC7EDE9D9888x0x1x0.py",
>
> > line 37, in scriptCmd
> >      return self._oleobj_.InvokeTypes(216, LCID, 1, (3, 0), ((31, 1),
> > (31, 1)),cmd
> >
> > TypeError: The VARIANT type is unknown (0x0000001f)
>
> If you look at
>
> https://docs.microsoft.com/en-us/windows/win32/api/wtypes/ne-wtypes-varenum#remarks,
>
> VT_LPWSTR is not valid in a VARIANT, so pywin32 doesn't let you create
> them. Use VT_BSTR (or just pass a Python string) and see if that works -
> if it doesn't you probably need to contact the vendor of the package.
>
> HTH,
>
> Mark
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/python-win32/attachments/20210122/9c0de048/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TLBA012D.JPG
Type: image/jpeg
Size: 76221 bytes
Desc: not available
URL: <https://mail.python.org/pipermail/python-win32/attachments/20210122/9c0de048/attachment-0001.jpe>


More information about the python-win32 mailing list