I keep getting the following exception when making some calls on a
ActiveX DLL library (PISDK). Problem partially solved, posting in case
others may find it usefull.

TypeError: The Python instance can not be converted to a COM object

I have traced it down to an optional parameter, that is set to 0, but
should (probably) be set to None.

the makepy signature is:

GetPoints(self, WhereClause=<PyOleEmpty object>, pAsynchStatus=0)

Doing the call using

server.GetPoints(" tag = 'FT12345/*' ", None)

works fine. Same with the RecordedValue, with this signature:

RecordedValues(self, StartTime=<PyOleEmpty object>,
    EndTime=<PyOleEmpty object>,
    BoundaryType=3, filterExp=u'', ShowFiltered=0, asynchStatus=0)

asynchStatus may be a reference to a Ole object (PIAsynchStatus), used
for callback / asynchonous querying.


As the optional parameter is easy to forget, especially when querying
interactively in ipython, is it possible to make makepy understand
that the optional parameter should be None, instead of 0?


Kind regards,
Åsmund Hjulstad
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to