Спасибо за внимание, Сергей. А то уже думал, что мой вопрос как раз оказался таким, что по его примеру можно написать статью на подобии Как неправильно задавать вопросы...
S>А что с ним дальше делается? Где он убивается?
Убивается он в деструкторе CBitmap::~CBitmap(). Точнее не в его собственном, а в виртуальном деструкторе базового класса CGdiObject. Иерархия там такова: CBitmap<-CGdiObject<-CObject — все это из MFC.
S>Скорее всего ты эту битмапу после использования из контекста не удаляешь. Под XP посмотри в task manager'е — количество GDI Objects для твоего процесса растет? Если да, ищи где у тебя текут ресурсы.
Я как раз так сначала и подумал — набрел на тот самый деструктор — в нем нашел ::DeleteObject(m_hHandle).
Совсем забыл, что в XP можно столбцы менять — спасибо за это. Для отладки как раз штука не зменимая. Там число GDI объектов неизменно — остается на уровне 40 штук. Незнаю даже, что и делать. Хоть бы какую-нить зацепку получить. Мне все-таки кажется, что под w98 ограничено число созданий (возможно, где-нить про это читал, но сейчас не помню точно, так это или нет).
И еще кое-что добавлю, может будет полезно знание этих обстоятельств:
Этот код, что я приводил выше — отвечает за отрисоку изображений. Когда возинкает ошибка, в моем списке просто вместо изображений возникают "пустые места". Вдобавок, эти места возникают на тулбарах в других открытых приложениях, даже на меню ПУСК — врезка слева — и та не прорисовывается. Чтобы это убралось — приходится resatartить постоянно — что также не способствует быстрой и эффективной отладке.
Вот и совсем растерялся. Даже подумывал, до того, как обратился сюда, написать в релизе проги, что w98 не supported.
Но если ответа не найду, видимо, так и придется делать.
S>Best regards, S> Sergey.