Можно ли вызвать проблемы, преждевременно освобождая объект Windows GDI?

Можно ли вызвать проблемы, преждевременно освобождая объект Windows GDI? С памятью можно преждевременно удалить/освободить буфер и действительно вызвать очень серьезные проблемы. Как насчет ГДИ? Можно ли вызвать сбой или проблемы с отрисовкой пользовательского интерфейса, преждевременно выпустив объект GDI?


person Radim Cernej    schedule 09.09.2020    source источник
comment
Крушение? Очень, очень маловероятно. Проблемы с покраской? Очень, очень вероятно.   -  person IInspectable    schedule 10.09.2020


Ответы (1)


Вы не можете удалить объект GDI, который в данный момент выбран в любом контексте устройства (DC): https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-deleteobject

После удаления объекта его дескриптор становится недействительным, поэтому вы не можете выбрать его в DC.

Какой еще сценарий вы имеете в виду?

person Vlad Feinstein    schedule 09.09.2020
comment
Спасибо. Я не имел в виду какой-то конкретный сценарий, мне просто было любопытно, является ли это реальной опасностью, которую нужно остерегаться. Я отлаживаю 20-летнюю старую программу, написанную другими, я все еще изучаю, где в этой программе выделяются и освобождаются объекты GDI. - person Radim Cernej; 10.09.2020