Для CreateCompatibleDC MSDN указывает DeleteDC. Однако в авторитетных статьях попадается DeleteObject вместо DeleteDC.
При этом в MSDN-овском перечне объектов для DeleteObject нет DC... Поскольку оба варианта возвращают TRUE — отсюда и вопрос.
Здравствуйте, Аноним, Вы писали:
А>Возможно, DeleteDC просто вызывает DeleteObject. Но это, очевидно — недокументированное поведение и теоретически может быть изменено Microsoft-ом любой момент — вызовы тогда престанут быть эквивалентными. Если документация говорит, что для DC надо вызывать DeleteDC — значит так и надо делать, а не звать DeleteObject, даже если последний вариант работает.
Однако интересно, что эта замена попадается и в материалах Центра справки и поддержки MS,
а Фень Юань в своей "Windows Graphic Programming" и статьях только ей и пользуется.
Может, они чего-то знают, что другим знать не положено, может, это пароль какой для винды ?
А>Для CreateCompatibleDC MSDN указывает DeleteDC. Однако в авторитетных статьях попадается DeleteObject вместо DeleteDC.
А>При этом в MSDN-овском перечне объектов для DeleteObject нет DC... Поскольку оба варианта возвращают TRUE — отсюда и вопрос.
K>Однако интересно, что эта замена попадается и в материалах Центра справки и поддержки MS,
K>а Фень Юань в своей "Windows Graphic Programming" и статьях только ей и пользуется.
K>Может, они чего-то знают, что другим знать не положено, может, это пароль какой для винды ?
Вот ответ Фень Юаня на мое вчерашнее к нему письмо:
K>> [...] I observed that you always use DeleteObject (not DeleteDC) after CreateCompatibleDC. Why ? Maybe — it is pointing to some secret of CompatibleDC ?
FY> That should be a bug. Thanks. Feng Yuan
Здравствуйте, kero, Вы писали:
FY>> That should be a bug. Thanks. Feng Yuan
Все это напомнило анекдот когда русский гонщик прицепил свой Запорожец к американскому чуду техники в итоге американец по рации сообщил, что уходит с трассы так как русский не только не отсатет, но и начинает убирать шасси и явно идет на взлет.
... << RSDN@Home 1.2.0 alpha rev. 637>>