![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с загрузкой 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 файл.