Мне было интересно, может ли кто-нибудь помочь мне разобраться в этой ошибке. Я вызываю сгенерированную в Python библиотеку LabVIEW, которая связывается с DCM по протоколу CAN.
Структура и входные параметры функции LabVIEW, вызываемой в Python, следующие:
int32_t func_1(CStr version_number, int32_t Verbose, CStr SetupFileName);
Я знаю, что dll импортируется в Python и что параметры вводятся правильно, потому что другие функции с такой же структурой имеют одинаковые входные параметры и не возвращают ошибку.
import ctypes as c
mydll = c.windll.LoadLibrary('intcan.dll') #'C:/Users/PycharmProjects/impdll/intcan.dll')
mydll.func_1(c.c_char_p('15.1.1.1'), c.c_int(0), c.c_char_p('CanDevice.xml'))
Когда я запускаю код, я получаю следующую ошибку.
Traceback (most recent call last):
File "C:/Users/PycharmProjects/impdll/venv/tester.py", line 22, in <module>
mydll.func_1(c.c_wchar_p('15.1.1.1'), c.c_int(0), c.c_wchar_p('CanDevice.xml'))
OSError: [WinError -529697949] Windows Error 0xe06d7363
Process finished with exit code 1