Передача параметров byref в VB6 COM DLL из Python - PullRequest
5 голосов
/ 25 февраля 2012

У меня есть COM DLL VB6 с функцией, объявленной следующим образом:

Public Function testFunc(ByRef v1 As Long) As Boolean

Когда я пытаюсь вызвать это из Python2.7, используя:

var1 = c_long()
VB6DLL.testFunc(X1)

Если X1 - это var1, я получаю исключение: «Аргумент int () должен быть строкой или числом, а не« c_long »»

Если X1 равен yref (var1), я получаю исключение: «Аргумент int () должен быть строкой или числом, а не« cArgObject »»

Если функция VB6 использует параметры ByVal и я отправляю правильные параметры из Python, все хорошо. Итак, как мне отправить ссылки, так как я хотел бы, чтобы DLL изменила значения? Почему аргумент ByRef становится int ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...