problems with python: pywintypes.com_error
s0199583 at sms.ed.ac.uk
Fri Aug 8 13:04:27 CEST 2003
I am VERY new to python , 3 days to be exact, but as I have been
programming competently in Perl and C/C++ for a while now, I thought
it would be a simple case of relearning the syntax, and in many ways
it has been just that.
However last night as I was just about to leave work, when I came
across an error message I had never seen before. Not only that but it
appears that there is very little in the way of help in all the usual
sources of information on the internet (i.e. newsgroups and forums
and the like) So to the problem at hand...
I am calling a program called v2wreg (its a program for interfacing
with the registers/parallel port, used, unfortunatly i think
exclusivly, by the company I work for), I can load the program fine,
but when I come to use any of its advanced featurs i.e.
SetDeviceAddress or ReadRegister I get the same type of error message.
File "<COMObject v2wreg.Application>", line 2, in MakeConnection
pywintypes.com_error: (-2147352571, 'Type mismatch.', None, 1)
When I commented out the first line I knew was giving an error, I got
the another pywintypes.com_error from the next line in my code to use
a feature of v2wreg?
Are these errors connected? I have looked about abit and there has
been some mention of programs not being registered properly
generating pywintypes.com_error errors is there anyway I can check
what is meant to be registered?
Any light anyone could spread on this subject would be very helpful
Thanks in advance,
2nd year Electronic & Electrical Engineer at Edinburgh University.
p.s. here is part of my code with the affected area
serialBusToolv2wReg = win32com.client.Dispatch
("v2wreg.Application") ##this line works and calls the app
minimumDesiredVersion = 142
appVersion = serialBusToolv2wReg.QueryVersion ##this line
also works and it calls a feature of the program
serialBusToolv2wReg.Maximize = 10 ##this line works also
if((appVersion) < minimumDesiredVersion):print"error"
else: print "app version is working well....'yaaay'"
serialTransportParameters = 
PciCardId = 0
if(self.transpor == 'pci'):serialTransportParameters=["VPCI"
elif( self.transpor == 'parallel'):serialTransportParameters=
else: print "eeek..error"
if(self.protocol == 'i2c'):serialTransportParameters.insert
elif(self.protocol == 'cci'):serialTransportParameters.insert
elif(self.protocol == 'v2w'):serialTransportParameters.insert
else: print "error......."
print "serialTransportParameters->", serialTransportParameters
success = serialBusToolv2wReg.MakeConnection
(serialTransportParameters)###this line is where the error appears
if not (self.deviceAddress == -1):
serialBusToolv2wReg.SetDeviceAddress = self.deviceAddress
##this line also returns a pywintypes.com_error error
serialIndex = win32com.client.pythoncom.VT_VARIANT = 0
serialValue = win32com.client.pythoncom.VT_VARIANT = 0
serialAutoInc = win32com.client.pythoncom.VT_VARIANT = 0
success = serialBusToolv2wReg.ReadRegisterNoWrite
(self.deviceAddress, serialIndex, serialValue, serialAutoInc)
if ((success == 0) or (serialValue = 'read failed') :
print "read error booo \n"
else: print "\n error"
More information about the Python-list