IDE помечает любую из следующих строк:
Код: Выделить всё
_BeginPaint.argtypes = [wintypes.HWND, ctypes.POINTER(PAINTSTRUCT)]
_RegisterClass.argtypes = [ctypes.POINTER(WNDCLASS)]
_RegisterClassEx.argtypes = [ctypes.POINTER(WNDCLASSEX)]
Однако PAINTSTRUCT, WNDCLASS и WNDCLASSEX являются стандартными типами ctypes.Structure, а не строковым типом:
Код: Выделить всё
_BeginPaint = user32.BeginPaint
_BeginPaint.argtypes = [wintypes.HWND, ctypes.POINTER(PAINTSTRUCT)]
_BeginPaint.restype = wintypes.HDC
_RegisterClass = user32.RegisterClassW
_RegisterClass .argtypes = [ctypes.POINTER(WNDCLASS)]
_RegisterClass .restype = wintypes.ATOM
_RegisterClassEx = user32.RegisterClassExW
_RegisterClassEx .argtypes = [ctypes.POINTER(WNDCLASSEX)]
_RegisterClassEx .restype = wintypes.ATOM
Код: Выделить всё
@overload
@deprecated("ctypes.POINTER with string")
def POINTER(cls: str) -> type
Код: Выделить всё
@overload
def POINTER(type: None, /) -> type[c_void_p]
Это известная ошибка в логике проверки PyCharm 2025.3.1 для Python 3.14 или существует новый способ определения указателей на пользовательские структуры, совместимый с версией 3.14, который мне не хватает?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... ation-in-p
Мобильная версия