У меня есть скрипт, и в нем мне нужно вызвать функцию из DLL для другого программного обеспечения. Сценарий запускался вчера и за последние несколько месяцев, но остановился сегодня. Я действительно деинсталлировал и переустановил python вчера, так как у меня были другие не связанные проблемы.
gmAPI = cdll.LoadLibrary(
"C:/Program Files (x86)/GoldMine/gm7s32.dll")
recid = create_string_buffer(16)
gmAPI.GMW_NewRecID(recid, username)
Это часть кода, которая глючит, я получаю код ошибки 6, неверный дескриптор при попытке выполнить третью строку. Это 32-битная DLL, и я использую его на том же 32-битном интерпретаторе, хотя и переустановил.
Мой объект cdll выглядит следующим образом:
<CDLL 'C:\Program Files (x86)\GoldMine\gm7s32.dll', handle 10000000 at 0x3f44280>
однако, _handle для объекта: 268435456.
Я не специалист по ctypes, но я предполагаю 100000000 - недопустимый дескриптор, но я ожидаю, что он согласуется с дескриптором объекта. Я не знаю, почему это изменилось бы. Я уже запускал его на нескольких машинах с несколькими переводчиками.