Hi, The authors of the COM object say that the failing AddTest() method takes in an LPCSTR as its first argument and a Variant as the second argument.
STDMETHODIMP CTTOrderSelector::AddTest(LPCSTR lpProperty, VARIANT vValue) LPCSTR is not a valid COM type, but somehow it is correctly handled in C#. The authors claim that their C# client code has been tested and is known to work correctly. Is there a hack that I can use through pywin to make this work? Maybe call Invoke() for AddTest manually or something? Thanks! -Sumeet. --- Mark Hammond <[EMAIL PROTECTED]> wrote: > At this stage the problem is more confusion as to > exactly what is happening. > My understanding is: > > * Their type-library defines that method as having a > variant type of > VT_LPSTR. > * Microsoft declares in wtypes.h that VT_LPSTR is > valid in a typedesc, but > *not* in a VARIANT. > * When Python processes the typelib, it makes no > attempt to translate > VT_LPSTR to a type that is valid in a Variant. > * When Python is making the call to the COM object, > it sees that VT_LPSTR - > but as it is filling a VARIANT, it gives that error > (the error could be > clearer - but that is the underlying reason for that > type not being > supported) > > The last experiment I asked you to perform should > have translated the > VT_LPSTR from the typelib into a VT_BSTR - the > "standard" string type - but > that still failed. You may also like to change the > 30 to 12 (VT_VARIANT) > and see if that helps. But ultimately, I need to > know exactly what variant > type the COM object is expecting, and why it fails > if a VT_BSTR variant is > supplied. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32