У меня есть 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 ()?