所以我在vb中有一个函数转换为我想在python中使用的dll。但是,尝试使用它,我收到一条错误消息 这是VB函数
Function DISPLAYNAME(Name)
MsgBox ("Hello " & Name & "!")
End Function
这就是我在python中调用它的方式
from ctypes import *
test = windll.TestDLL
print test
print test.DISPLAYNAME("one")
但是我得到错误,所以调用dll的正确方法是什么
Traceback (most recent call last):
File "C:\Test\testdll.py", line 4, in <module>
print test.DISPLAYNAME("one")
File "C:\Python26\lib\ctypes\__init__.py", line 366, in __getattr__
func = self.__getitem__(name)
File "C:\Python26\lib\ctypes\__init__.py", line 371, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'DISPLAYNAME' not found
我一直在网上寻找,但到目前为止还没有解决方案。不能使用cdll,因为这是用于c progs。
我已经查看了一些与python和dll相关的问题,但到目前为止还没有解决方案适用于我的问题。
答案 0 :(得分:0)
我不知道你的具体问题的答案,但如果它是VB.NET,你可以在IronPython中原生地调用它。
答案 1 :(得分:0)
这可能是一个范围问题,如果没有公共访问修饰符,该函数可能对外部调用者不可见。尝试
Public Function DISPLAYNAME(Name)
MsgBox ("Hello " & Name & "!")
End Function
在你的dll中