Удаляет ли CImageList ресурсы?

0

Я столкнулся с проблемой утечки GDI в нашем проекте, поэтому я начал искать возможные проблемы. Я нашел место, где разработчик создал новые экземпляры значков с LoadIcon, и я знаю, что мы должны удалить ресурс с DestroyIcon при закрытии элемента, который его встроил. Я не знаю, что если CImageList автоматически вызывает это на добавленных элементах или нет? На данный момент я не нашел точных ответов.

Заранее спасибо.

  • 0
    Я согласен с тем, что использование инструмента, который поможет вам определить тип утечки ресурсов (шрифт, растровое изображение, кисть, перо и т. Д.), Значительно облегчит вашу работу. Кроме того, ресурсы, выбранные в контроллеры домена, но не удаленные перед удалением, являются для меня наиболее распространенной причиной утечек.
  • 0
    Я использовал один и обнаружил несколько особых случаев, когда произошла эта утечка. Затем я искал другие места, где у нас есть подобные проблемы, и нашел это.
Теги:
mfc

1 ответ

1
Лучший ответ

CImageList освободит все элементы, когда он будет выпущен. На основе msdn. Если список изображений был создан с помощью нового оператора, вы должны уничтожить объект CImageList, когда вы закончите с ним, что означает в descontructor CImageList, он освободит все его элементы.

Вы можете попытаться использовать DebugDiag для устранения проблем с памятью/GDI-утечкой, это лучше, чем просто просмотр кода для идентификации утечки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню