Найти - Пользователи
Полная версия: подключение DLL ctypes
Начало » Python для новичков » подключение DLL ctypes
1
UshakovNikolay
Добрый день!
win7 64, Python 3.8.8 32(потому что dll win32)
скрипт:
from ctypes import *
lib = cdll.LoadLibrary(r“c:\tmp\dll_test\KrugDBClient.dll”)

lib.KrugDBConnect.restype = c_ulong
lib.KrugDBConnect.argtypes =
qwe = c_wchar()
dwConnectID = c_ulong()
res = lib.KrugDBConnect(pointer(qwe),pointer(dwConnectID))
print(hex(res))
print(dwConnectID)

запускаю через IDLE IDE->открыть файл->F5
после LoadLibrary вылетает - происходит RESTART shell
сначала LoadLibrary выполнялась нормально, ошибка была в KrugDBConnect “неправильный параметр”,
но с какого-то момента перестала выполняться уже LoadLibrary
(путь указан правильно, если изменить, ругается что не может найти библиотеку)
ZerG
Нвачнем вот с чего:
1. Вы обернете код в тег - что бы он был читабельным
2. Вы навсегда забудете про IDLE и не будете его запусать. Напиишите код в файле, сохраните его и выполните коммандой
python path_to_file/your_fie.py
3. Выложите нормальный лог ошибки а не передадите его суть
4. Добавите в код print-ы что бы было понятно где вываливается ошибка
UshakovNikolay
 from ctypes import *
print("1")
lib = cdll.LoadLibrary(r"c:\tmp\dll_test\KrugDBClient.dll")
print("2")
lib.KrugDBConnect.restype = c_ulong
lib.KrugDBConnect.argtypes = [POINTER(c_wchar), POINTER(c_ulong)]
qwe = c_wchar()
dwConnectID = c_ulong()
res = lib.KrugDBConnect(pointer(qwe),pointer(dwConnectID))  
print(hex(res))
print(dwConnectID)
лог:
C:\tmp\dll_test>python test.py
1
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB