Problem in generated files with makepy and Microsoft ADO
Martin Stettner
mast_nospam at complement.xxx.at
Fri Jun 10 05:44:32 EDT 2005
Hi,
when trying to generate the wrapper classes for Microsofts ADO Library
(Version 2.8) with makepy, I run into the following problem. Here's what I
do (I use ActiveState Python 2.4.1.245)
1.) Running makepy, selecting "Microsoft ActiveX Data Object 2.8"
2.) Starting PythonWin IDE
3.) When I type the following
import win32com.client.Dispatch
rs = win32com.client.Dispatch("ADODB.Recordset")
I get this error
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File
"C:\Programme\Python24\Lib\site-packages\win32com\client\__init__.py", line
96, in Dispatch
return __WrapDispatch(dispatch, userName, resultCLSID, typeinfo,
UnicodeToString, clsctx)
File
"C:\Programme\Python24\Lib\site-packages\win32com\client\__init__.py", line
38, in __WrapDispatch
klass = gencache.GetClassForCLSID(resultCLSID)
File
"C:\Programme\Python24\Lib\site-packages\win32com\client\gencache.py", line
184, in GetClassForCLSID
mod = GetModuleForCLSID(clsid)
File
"C:\Programme\Python24\Lib\site-packages\win32com\client\gencache.py", line
245, in GetModuleForCLSID
makepy.GenerateChildFromTypeLibSpec(sub_mod, info)
File "C:\Programme\Python24\lib\site-packages\win32com\client\makepy.py",
line 307, in GenerateChildFromTypeLibSpec
__import__("win32com.gen_py." + dir_name + "." + child)
File
"C:\Programme\Python24\lib\site-packages\win32com\gen_py\2A75196C-D9EB-4129-B803-931327F72D5Cx0x2x8\_Recordset.py",
line 55
def Collect(self, Index=defaultNamedNotOptArg):
return self._ApplyTypes_(-8, 2, (12, 0), ((12, 1),), 'Collect',
None,Index)
^
SyntaxError: invalid syntax
The Line containing the error reads as follows (in the generated
_Recordset.py file)
# The method Collect is actually a property, but must be used as a method
to correctly pass the arguments
def Collect(self, Index=defaultNamedNotOptArg):
return self._ApplyTypes_(-8, 2, (12, 0), ((12, 1),), 'Collect',
None,Index)
Strangely, if I delete the comment line, everything runs fine! I've noticed
a similar problem with the Properties.py file when I was using the adodbapi
module: There I had to delete the generated line
from win32com.client import Dispatch
which also seems perfectly correct to me.
I cannot see any error in the code. As I would like to deploy my application
without having my customer to edit this line manually I would appreciate any
hint (compiler bug? Bug in the ADO type library?)!
Thanks in advance
Martin
More information about the Python-list
mailing list