Можно ли вызвать проблемы, преждевременно освобождая объект Windows GDI? С памятью можно преждевременно удалить/освободить буфер и действительно вызвать очень серьезные проблемы. Как насчет ГДИ? Можно ли вызвать сбой или проблемы с отрисовкой пользовательского интерфейса, преждевременно выпустив объект GDI?
Можно ли вызвать проблемы, преждевременно освобождая объект Windows GDI?
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
Спасибо. Я не имел в виду какой-то конкретный сценарий, мне просто было любопытно, является ли это реальной опасностью, которую нужно остерегаться. Я отлаживаю 20-летнюю старую программу, написанную другими, я все еще изучаю, где в этой программе выделяются и освобождаются объекты GDI.
- person Radim Cernej; 10.09.2020