Re: Error: VARIANT Type is unknown

Olle Pontén <[email protected]>
Newsgroups gmane.comp.python.windows
Message-ID <CAPxAAVoHaRFwV_SKtOWzWs8zbrqGKKo_mRTmBgjyzGQuF1uCPw@mail.gmail.com>
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 <[email protected]>
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
>

_______________________________________________
python-win32 mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-win32
TLBA012D.JPG (image/jpeg, 74.4 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.