Wong, Shin Guey schrieb:
> I am still new to comtypes. Now, I am facing some problems on
> accessing com dll with propput and propget. All other methods is
> working fine as along as it it not a propput and propget methods. How
> do I access those methods, am I doing something wrong?
> 

Sorry for this too late reply - I must somehow have overlooked this all the 
time.
There is probably a problem with property accesses that use [in, out] 
parameters.
Is the com object that you use publicely available somewhere?

> Here is the python console I use to call those methods:
> ===================================================================
>>>> from comtypes.client import CreateObject st =
>>>> CreateObject("vbSiThermalCOM.clsVBSiThermalClass")
>>>> st.HeadCount
> <comtypes.bound_named_property object at 0x00C772F0>
>>>> st.HeadCount = 1
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "c:\python25\lib\site-packages\comtypes\__init__.py", line 238, in 
> __setattr__
>     value)
> TypeError: __set__() takes exactly 2 arguments (3 given)
>>>> st.CommPort(1)
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: 'int' object is not callable
>>>> st.CommPort
> 0
>>>> st.CommPort[1]
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: 'int' object is unsubscriptable 
> ===================================================================
> 
> 
> Here is the generated python script by comtypes:
> ===================================================================
> COMMETHOD([dispid(1745027074), 'propput'], HRESULT, 'HeadCount',
>               ( ['in', 'out'], POINTER(c_short), 'None' )),
 COMMETHOD([dispid(1745027074), 'propget'], HRESULT, 'HeadCount',
>               ( ['retval', 'out'], POINTER(c_short), 'None' )),

 COMMETHOD([dispid(1745027073), 'propput'], HRESULT, 'CommPort',
>               ( ['in', 'out'], POINTER(c_short), 'Head' ),
>               ( ['in', 'out'], POINTER(c_short), 'None' )),
> 
> ################################################################
> ## code template for _clsVBSiThermalClass implementation ##class 
> _clsVBSiThermalClass_Impl(object):
> ##    def _get(self):
> ##        '-no docstring-'
> ##        #return
> ##    def _set(self):
> ##        '-no docstring-'
> ##    CommPort = property(_get, _set, doc = _set.__doc__)
> ##
> ##    def Disconnect(self):
> ##        '-no docstring-'
> ##        #return
> ##
> ##    def GetPV(self):
> ##        '-no docstring-'
> ##        #return Head, <unnamed>
> ##
> ##    def SetSV(self):
> ##        '-no docstring-'
> ##        #return Head, NewSetPoint, <unnamed>
> ##
> ##    def GetSV(self):
> ##        '-no docstring-'
> ##        #return Head, <unnamed>
> ##
> ##    @property
> ##    def Connected(self):
> ##        '-no docstring-'
> ##        #return Head, <unnamed>
> ##
> ##    def Connect(self):
> ##        '-no docstring-'
> ##        #return
> ##
> ##    def _get(self):
> ##        '-no docstring-'
> ##        #return
> ##    def _set(self):
> ##        '-no docstring-'
> ##    CommDevice = property(_get, _set, doc = _set.__doc__)
> ##
> ##    def _get(self):
> ##        '-no docstring-'
> ##        #return
> ##    def _set(self):
> ##        '-no docstring-'
> ##    HeadCount = property(_get, _set, doc = _set.__doc__)
> ##                                                             
> ===================================================================
> 

-- 
Thanks,
Thomas


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
comtypes-users mailing list
comtypes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/comtypes-users

Reply via email to