我为DLL生成了一个win32com包装器,我正在尝试访问它。它的工作原理除了一个名为ReadPipeBytes的函数外。它适用于我的其他两台机器,但我使用的是不同的python版本。这是错误:''对象没有属性'ReadPipeBytes'。我将同一个dll复制到另一台机器上(它是一个驱动程序,我有相同的硬件,我试图访问。)我对包装文件进行了比较,它们几乎完全相同,除了它们生成的python版本并且3.3.5生成的版本没有把u'FunctionName'放在2.7版本的地方。如果我将包装器文件复制到不起作用的机器上,我会得到相同的错误(和/或dict文件)。
1)为什么当另一个函数正常工作时,python的版本在读取这个特定函数时会有所不同(它不是包装器?
2)当其他函数工作时,以及当我使用我在其他机器上执行的相同文件时,python如何无法使用名为readpipebytes的函数?
答案 0 :(得分:0)
当您使用com时,您正在访问的语言需要与com .dll或控件相同的“bittedness”。因此,如果你有一个32位控制或com dll你必须有一个32位win32com。