#c #windows #gdi #resource-leak
#c #Windows #gdi #утечка ресурсов
Вопрос:
Можно ли вызвать проблемы, преждевременно выпустив объект Windows GDI? С памятью можно преждевременно удалить / освободить буфер и вызвать действительно очень серьезные проблемы. Как насчет GDI? Можно ли вызвать сбой или проблемы с рисованием пользовательского интерфейса, преждевременно выпустив объект GDI?
Комментарии:
1. Сбой? Очень, очень маловероятно. Проблемы с рисованием? Очень, очень вероятно.
Ответ №1:
Вы не можете удалить объект GDI, который в данный момент выбран в любом контексте устройства (DC):https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-deleteobject
После удаления объекта его дескриптор недействителен, поэтому вы не можете выбрать его в DC.
Какой другой сценарий вы имеете в виду?
Комментарии:
1. Спасибо. У меня не было какого-либо конкретного сценария, мне просто было любопытно, является ли это реальной опасностью, на которую нужно обратить внимание. Я отлаживаю 20-летнюю программу, написанную другими, я все еще изучаю, где объекты GDI выделяются и освобождаются в этой программе.