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

Вниз

Ошибка TBitmap.LoadFromResource в Win98 Версия KOL >=2.04   Найти похожие ветки 

 
Сергей Близнюков   (2005-02-22 10:16) [0]

Обнаружена ошибка в TBitmap.LoadFromResource в Win98 Версия KOL >=2.04

При загрузке Bitmap"а более 16 цветов (конкретно 256 цветов) из ресурса под Win98 программа вываливается в даун полностью!
Runtime Error 216 at....
Исследования в отладчике показали, что ошибка возникает
в procedure TBitmap.SetHandle(const Value: HBitmap);
в строке
   Move( Dib.dsBitfields, fDIBHeader.bmiColors, 256 * 4 );

Очень похоже, что PrepareBitmapHeader зависит от ОС.

Workarround: bmp перегнали в 16 цветов, всё работает как часы.


 
Сергей Близнюков   (2005-02-22 10:52) [1]


> Workarround: bmp перегнали в 16 цветов, всё работает как
> часы.


А вот - фигушки!!!! Не помогает!!!

Будем пытаться выкрутиться, используя код KOL версии до 2.03
Кстати, нашёл момент возникновения глюка ;-)) :

>Новости 21 декабря 2004

>Новости KOL и MCK (v2.04):
>KOL: присваивание свойства TBitmapl.Handle исправлено
>для случая, когда присваивается дескриптор очень
>большого растрового изображения (ранее, это могло
>приводить к потере DIB-данных в результате промежуточных
>преобразований, и присваиванию большого черного прямоугольника).


>


 
ECM ©   (2005-02-22 13:13) [2]

Исследования в отладчике показали, что ошибка возникает
в procedure TBitmap.SetHandle(const Value: HBitmap);
в строке
  Move( Dib.dsBitfields, fDIBHeader.bmiColors, 256 * 4 );


М-дя. Похоже опечатка вышла...
Попробуй заменить эту строку на следующую:
  Move( Dib.dsBitfields, fDIBHeader.bmiColors, 3 * SizeOf(DWORD) );

(сам не проверял - надо чтобы автор разобрался :)



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
2-1127728182
Алексей2
2005-09-26 13:49
2005.10.23
Убрать обработчик события


1-1127987845
Иванов__
2005-09-29 13:57
2005.10.23
Как запихать прогу в DLL


14-1128062277
Vladimir88
2005-09-30 10:37
2005.10.23
Delphi 2005


3-1126685588
Term
2005-09-14 12:13
2005.10.23
Сообщение об ошибке при создании ХП


2-1127661167
тринитротолуол
2005-09-25 19:12
2005.10.23
Как сделать так чтобы моя форма была всегда поверх всех окон?