| Предыдущий | Следующий |
| ERROR_INVALID_INDEX | ERROR_PRIVATE_DIALOG_INDEX |
ERROR_INVALID_ICON_HANDLE
HICON не является допустимым дескриптором значка
Значки — это непрозрачные ресурсы графического интерфейса, используемые окнами, классами, диалогами и представлением оболочки. Значение HICON должно быть получено путём загрузки или создания значка и оставаться действительным в течение всего времени, необходимого API, которое хранит или использует его.
Перепутать типы дескрипторов особенно легко, поскольку курсоры и значки основаны на схожих изображениях, а оба значения являются непрозрачными и имеют размер дескриптора. Правила владения также различаются для совместно используемых загруженных изображений и значков, созданных приложением, поэтому универсальный код очистки может уничтожить дескриптор, которым приложение не владеет.
Что следует проверить
- Проследите путь загрузки или создания значка и выясните, запрашивалась ли семантика совместно используемого ресурса.
- Проверьте, не был ли преждевременно вызван
DestroyIconв течение времени жизни класса или окна. - В оболочках и диагностике строго разделяйте поля значков и курсоров.
- При обновлении значка класса сохраняйте время жизни старого и нового дескрипторов, пока класс и окна больше не перестанут на них ссылаться.
Отсутствующий ресурс значка при загрузке — другая ошибка; здесь API получило значение, не являющееся допустимым дескриптором значка.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
