Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Посмотрите пожалуйста, что крамольного в коде?   Найти похожие ветки 

 
Jel ©   (2004-05-26 18:09) [0]


IconArray : array of HIcon;
...
function TForm1.GetIconWidth(index: integer): integer;
var IcInfo : TIconInfo;
   BmpInfo : BITMAP;
begin
 Result := 0;
 if GetIconInfo(IconArray[index], IcInfo) then begin
   if GetObject(IcInfo.hbmColor, SizeOf(BmpInfo), @BmpInfo) <> 0 then
     Result := BmpInfo.bmWidth
   else ShowMessage(SysErrorMessage(GetLastError));
 end;
end;


Радость сия вызывается из процедуры отрисовки витруального листбокса для определения размера иконки. При каждом вызове количество объектов GDI (по данным диспетчера задач) увеличивеатся на 14 и через определенное время программа благополучно начинает глючить (возникают проблемы с отрисовкой). К этому моменту количество объектов GDI переваливает за несколько тысяч. Создается впечатление, что что-то выделяется, но не освобождается. Никак не могу сообразить что именно? Ткните носом, плиз.


 
VMcL ©   (2004-05-26 18:28) [1]

>>Jel ©  (26.05.04 18:09)

GetIconInfo creates bitmaps for the hbmMask and hbmColor members of ICONINFO. The calling application must manage these bitmaps and delete them when they are no longer necessary.

?


 
Jel ©   (2004-05-26 18:46) [2]


> VMcL ©   (26.05.04 18:28) [1]

!
Спасибо. Проглядел. :)



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
4-1083367298
Bonial
2004-05-01 03:21
2004.07.04
Как работают "часы" в трее?


14-1086700096
hgd
2004-06-08 17:08
2004.07.04
Расстояние до объекта


14-1086581801
Zoom Evstrahiev
2004-06-07 08:16
2004.07.04
Народ! Потестите програмку!


1-1087338679
Алексей
2004-06-16 02:31
2004.07.04
Чем отличается функция GetCurrentProcessId от GetCurrentThreadId


1-1087314371
tower
2004-06-15 19:46
2004.07.04
использовать модули скомпиленные в c++ builder