UshakovNikolay
Дек. 28, 2023 10:36:38
Добрый день!
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
Дек. 28, 2023 13:48:09
Нвачнем вот с чего:
1. Вы обернете код в тег - что бы он был читабельным
2. Вы навсегда забудете про IDLE и не будете его запусать. Напиишите код в файле, сохраните его и выполните коммандой
python path_to_file/your_fie.py
3. Выложите нормальный лог ошибки а не передадите его суть
4. Добавите в код print-ы что бы было понятно где вываливается ошибка
UshakovNikolay
Дек. 28, 2023 15:10:55
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