StopOver 签名板与 Python Django 应用程序集成

问题描述

我正在尝试连接 StepOver 签名板以进行签名捕获和保存,但不幸的是我被卡住了。之前从未与 python 或 django 应用程序做过任何硬件集成。

他们提供了一个用 C++ 和 delphi 编写的驱动程序,我安装在我的本地系统上。 我注册了提供的 .ocx 并且能够在 win32com.client.makepy -i 中选择以生成缓存模块。

我可以加载生成的提供所有接口的模块

from win32com.client import gencache
so=gencache.EnsureModule('{B23ECB86-5295-4DA7-BCBC-E564AB5A7334}',1,0)

但是从这里开始问题开始了,因为我无法使用

访问任何模块类
device_interface=win32com.client.dispatch("StepOverSignatureDevice1.StepOverSignatureDevice")

它抛出

Traceback (most recent call last):
File "C:\python\lib\site-packages\win32com\client\dynamic.py",line 81,in _GetGooddispatch
Idispatch = pythoncom.connect(Idispatch)
pywintypes.com_error: (-2147221021,'Operation unavailable',None,None)

在处理上述异常的过程中,又发生了一个异常:

Traceback (most recent call last):
File ".\so_ocx.py",line 17,in <module>
win32com.client.dispatch("StepOverSignatureDevice1.StepOverSignatureDevice")
File "C:\python\lib\site-packages\win32com\client\__init__.py",line 95,in dispatch
dispatch,userName = dynamic._GetGooddispatchAndUserName(dispatch,userName,clsctx)
File "C:\python\lib\site-packages\win32com\client\dynamic.py",line 98,in 
_GetGooddispatchAndUserName
return (_GetGooddispatch(Idispatch,clsctx),userName)
File "C:\python\lib\site-packages\win32com\client\dynamic.py",line 83,in _GetGooddispatch
Idispatch = pythoncom.CoCreateInstance(Idispatch,clsctx,pythoncom.IID_Idispatch)
pywintypes.com_error: (-2147221164,'Class not registered',None)```

我什至尝试过

device_interface = 
win32com.client.gencache.GetModuleForProgID("StepOverSignatureDevice1.StepOverSignatureDevice")

它不会抛出任何错误,但经过几步

device_interface = 
win32com.client.gencache.GetModuleForProgID("StepOverSignatureDevice1.StepOverSignatureDevice")


print(device_interface)

但是在我尝试访问之后

device_driver.default_interface

它抛出

Traceback (most recent call last):
File ".\so_ocx.py",line 20,in <module>
das.default_interface
AttributeError: module 'win32com.gen_py.B23ECB86-5295-4DA7-BCBC-E564AB5A7334x0x1x5' has no attribute 
'default_interface'

但是如果我使用另一种 gencahe 方法

它可以工作并且在访问其方法属性时不会抛出任何错误 当我尝试从界面访问任何方法时,它会出现错误

device_inteface.default_interface.isPadavAvailable()


Traceback (most recent call last):
File ".\so_ocx.py",in <module>
device_inteface.default_interface.isPadavAvailable()
TypeError: isPadavAvailable() missing 1 required positional argument: 'self'

device_inteface.default_interface.isPadavAvailable(device_inteface)

Traceback (most recent call last):
File ".\so_ocx.py",in <module>
das.default_interface.isPadavAvailable(das)
File "C:\Users\INFI\AppData\Local\Temp\gen_py\3.8\B23ECB86-5295-4DA7-BCBC-E564AB5A7334x0x1x5.py",line 562,in isPadavAvailable
return self._oleobj_.InvokeTypes(29,LCID,(11,0),((8,1),),settings
AttributeError: type object 'StepOverSignatureDevice' has no attribute '_oleobj_'

我不知道如何处理这些错误甚至这个项目。

任何帮助或指导都是非常可观的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...