Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Вниз

Ошибка в 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 вся ветка

Форум: "KOL";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.032 c
1-1128438930
Jioniro
2005-10-04 19:15
2005.10.30
Форма без заголовка


14-1128662254
syte_ser78
2005-10-07 09:17
2005.10.30
аналог Автосхемы


2-1128845162
!Trinix
2005-10-09 12:06
2005.10.30
Открытие приложений


1-1129009022
kolos_rus
2005-10-11 09:37
2005.10.30
Как узнать активную форму?


2-1128534097
The Sound
2005-10-05 21:41
2005.10.30
Ошибка, при использовании ShellApi.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский