Escribí un dll de prueba en C++ para asegurarme de que todo funcionara antes de comenzar a usar un dll más importante que el que necesitaba. Básicamente se necesitan dos dobles y los agrega, luego devuelve el resultado. He estado jugando y con otras funciones de prueba he obtenido devoluciones para el trabajo, simplemente no puedo pasar un argumento debido a errores. Mi código es:Errores de argumento de Python ctypes
import ctypes
import string
nDLL = ctypes.WinDLL('test.dll')
func = nDLL['haloshg_add']
func.restype = ctypes.c_double
func.argtypes = (ctypes.c_double,ctypes.c_double)
print(func(5.0,5.0))
Devuelve el error de la línea que llama "Func":
ValueError: Procedure probably called with too many arguments (8 bytes in excess)
¿Qué estoy haciendo mal? Gracias.
¡Funcionó como un amuleto, gracias david por toda tu ayuda! Seleccionaré tu pregunta como la mejor tan pronto como stackoverflow me lo permita. – pajm
Gracias. Estaba esperando esta, después de tu última pregunta. Esperaba que fuera así, pero es mejor en preguntas separadas. Es más ordenado de esa manera. –
¡Ningún problema! Eres un salvavidas, nunca he tratado con algo como esto antes y soy nuevo con Python de todos modos ... – pajm