вызов vb dll в питоне - PullRequest
       21

вызов vb dll в питоне

3 голосов
/ 01 сентября 2009

Итак, у меня есть функция в vb, которая преобразуется в dll, которую я хочу использовать в python. Однако, пытаясь использовать его, я получаю сообщение об ошибке это функция 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, так как это для прог с.

Я рассмотрел некоторые вопросы, связанные с python и dll, но пока что решение для моей проблемы не работает.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2009

Это может быть проблема с областью видимости: без модификатора Public access функция может быть невидима для внешних абонентов. Попробуйте

Public Function DISPLAYNAME(Name)
MsgBox ("Hello " & Name & "!")
End Function

в вашей dll

0 голосов
/ 01 сентября 2009

Я не знаю ответа на ваш конкретный вопрос, но если это VB.NET, вы можете вызвать его в IronPython .

...