Текущий архив: 2005.10.30;
Скачать: CL | DM;
Вниз
Ошибка в KOL / TBitmap.SetHandle. Найти похожие ветки
← →
gent (2005-03-02 02:16) [0]Уже обсуждались проблемы, связанные с обновлением TBitmap.SetHandle в KOL 2.04
(см. http://delphimaster.net/view/11-1109056582/).
Вот еще одна.
Следующая программа не работает под Windows"98 (access violation).
Компиляция через Delphi 5 + KOL 2.05 + {$DEFINE ASM_VERSION} + замена system.dcu.
program rbox;
{$R "rbox.res"}
uses KOL;
begin
NewBitmap(0, 0).LoadFromResourceName(hInstance, "RBOX");
end.
Здесь ресурс-файл rbox.rc: RBOX BITMAP "rbox.bmp" ,
а rbox.bmp - красный квадрат, 16-цветный битмап размером 200х200.
После обратной замены в Kol.pas кода TBitmap.SetHandle на аналог из версии 2.03 приведенная программа работает без проблем.
← →
ECM © (2005-03-02 09:22) [1]>Вот еще одна
Это та же проблема.procedure TBitmap.SetHandle(const Value: HBitmap);
...
Move( Dib.dsBitfields, fDIBHeader.bmiColors, 3 * SizeOf(DWORD) );
Пробовали?
Все дело в том, что поле Dib.dsBitfields - это Array[0..2] of DWORD. Естесственно, при копировании 256-ти DWORD-ов, будут
затираться другие переменные или сразу вылезет AV
← →
ECM © (2005-03-02 09:24) [2]P.S. упс - неточность: не затираться, просто будет чтение
несуществующей памяти...:)
← →
Сергей Близнюков (2005-03-03 12:40) [3]
>ECM (02.03.05 09:22)
>Вот еще одна
Это та же проблема.
procedure TBitmap.SetHandle(const Value: HBitmap);
...
Move( Dib.dsBitfields, fDIBHeader.bmiColors, 3 * SizeOf(DWORD) );
>Пробовали?
Я, как автор предыдущей ветки (Ошибка TBitmap.LoadFromResource в Win98 Версия KOL >=2.04 ), могу заявить:
Пробовали! Не помогает!!!
Выкрутился так
- {$ELSE ASM_VERSION_NO_USE} //временно вырубили использование ASM кода //Pascal
- поставил проверку WinVer
if WinVer() < wvY2k then begin
// старая процедура из KOL 2.02
if GetObject( Value, Sizeof( B ), @B ) = 0 then Exit;
fHandle := Value;
fWidth := B.bmWidth;
fHeight := B.bmHeight;
fHandleType := bmDDB;
end
По прежнему терпеливо ждём комментарий уважаемого автора - Владимира Кладова!
Страницы: 1 вся ветка
Текущий архив: 2005.10.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.037 c