Looks like it's due to way the type is name-checked (oleargs.cpp, line 263):
else if (strcmp(obj->ob_type->tp_name, "Decimal")==0) That doesn't work in 3.3 anymore. However, the function it calls to do the actual conversion has already been modified to use an isinstance check instead so it shouldn't be too difficult to fix. Roger "Vernon D. Cole" <vernondc...@gmail.com> wrote in message news:CAH-ZgAcOXMUHR+8_gsHS89h6cURzLovhUnauMsnz=bhjsfn...@mail.gmail.com... > Guys: > I am starting work on an upgrade to adodbapi -- so I set up a new > improved test layout and started > running some baseline tests before changing any application code. I just > tripped across this one: I don't know whether it is actually new or whether > my new tests exposed something which has been there a long time and never > noticed. The interesting thing is that this does not occur on Python 2 > (whether or not I am running 64 bit Python) -- I only see it on Python 3.3 > 64 bit. I have not tried any other Python 3 versions yet. > > I am ready to provide more or better (small example) test cases if that > would help, but if one of you can see what's wrong from just this clip, I > will spend my time elsewhere. What other info would be useful when I > submit the ticket? > -- > Vernon Cole > > [Note: this is the hg tip from sf.net/projects/adodbapi -- not the copy in > /pywin32. I don't want to update that until this is completely working. ] > > <clipped console dump follows> > C:\Users\vernon\PycharmProjects\adodbapi\test>c:\python33\python.exe > adodbapitest.py > 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit > (AMD64)] > node=z-PC: is64bit.os()= True, is64bit.Python()= True > [...clip...] > ERROR: testDataTypeMoney (__main__.TestADOwithAccessDB) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "c:\users\vernon\appdata\local\temp\adotest_k0ojue\adodbapi\adodbapi.py", > line 969, in _buildADOparameterList > _configure_parameter(p, value, self.parameters_known) > File > "c:\users\vernon\appdata\local\temp\adotest_k0ojue\adodbapi\adodbapi.py", > line 403, in _configure_parameter > p.Value = value > File "c:\python33\lib\site-packages\win32com\client\dynamic.py", line > 560, in > __setattr__ > self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value) > TypeError: Objects of type 'decimal.Decimal' can not be converted to a COM > VARIANT > </clip> > -------------------------------------------------------------------------------- > _______________________________________________ > python-win32 mailing list > python-win32@python.org > http://mail.python.org/mailman/listinfo/python-win32 > _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32