1
我正在嘗試使用odoo 9代碼中的一個Windows DLL。 在Python類的代碼是:在Windows 10上使用Python 32位的COM錯誤64位
import win32com.client
import pythoncom
Pythoncom.CoInitialize()
Zk = win32com.client.Dispatch ('zkemkeeper.ZKEM.1')
當我在Windows 8(64位),它的工作原理沒有問題,但是當我作爲服務在Windows 10(64位)運行它,我得到運行日誌文件中出現以下錯誤:
File "C: \ Python27 \ lib \ site-packages \ win32com \ client \ dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance (IDispatch, None, clsctx, pythoncom.IID_IDispatch)
Com_error: (-2147221164, 'Class not registered', None, None)
我檢查了Regedit;該DLL已註冊。
當我在同一臺PC上安裝Python 32位,並直接從控制檯運行代碼時,它給了我同樣的錯誤。但是,我安裝了Python 64位並運行相同的代碼,並且它工作正常。
任何人都可以告訴我如何解決odoo作爲服務的這個錯誤?有什麼辦法可以指向我安裝在PC上的64位Python,而不是內部的?
它工作完美,謝謝!我寫道:'ZK = win32com.client.Dispatch('zkemkeeper.ZKEM.1',clsctx = pythoncom.CLSCTX_LOCAL_SERVER)' – Dayana