Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с загрузкой Bitmap'ов из .res-файла


Denned ©   (2005-10-25 08:32:00) 

Здравствуйте! У меня возникла проблема следующего характера. Имеется: файл ресурсов с несколькими Bitmap'ами. В обработчике события OnPaint формы расположен следующий код:
 for X:=1 to 61 do begin //Счетчик битмапов
   Bitmap := TBitmap.Create;
   Bitmap.LoadFromResourceName(hInstance, BitmapName[X]);
   MainForm.Canvas.Draw(Pos[X].X, Pos[X].Y, Bitmap);
   Bitmap.Free;
 end;
Проблема:1)на первом шаге цикла X'у почему-то присваивается значение 61(!!!), а не 1;2)на первом шаге Bitmap считывается и отрисовывается в Canvas формы, на втором ни с того ни с сего выдается ErrorMessage "Resource такой-то not found", хотя он в действительности существует. Я в шоке! Ничего не могу понять!
Уважаемые Гуру, знает ли кто-нибудь из вас, где тут собака зарыта?


Denned   (2005-10-25 10:01:00) [1]

Проблема решилась - сделал все через ID'шники.


Denned   (2005-10-25 09:07:00) [2]

BitmapName типа ShortString (массив)
Pos - pointer

> Попробуй оптимизацию отключить. with Pos[X] ни где раньше
> не стоит?

with Pos[X] нигде нет.
Как ни странно, в дебаггере X=61, BitmapName[X]=последнее название картинки, а реально X=1(???),и картинка грузится ПЕРВАЯ(???!!!).

> Ну значит not found. Проверь .res файл.

С рез файлом все в порядке. Сто раз проверял...Самое главное - почему находится первая картинка и не находится вторая? Ведь они почти полностью совпадают!


ZeroDivide   (2005-10-25 08:45:00) [3]

BitmapName, Pos - какого типа?
> 1)на первом шаге цикла X'у почему-то присваивается значение
> 61(!!!)

Попробуй оптимизацию отключить. with Pos[X]ни где раньше не стоит?
> ни с того ни с сего выдается ErrorMessage "Resource такой-
> то not found"

Ну значит not found. Проверь .res файл.


Наверх

Титульная страница Поиск, карта сайта Написать письмо