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

Вниз

Массив изображений   Найти похожие ветки 

 
Veter ©   (2007-04-13 21:25) [0]

Пытаюсь занести в масив 36 изображений карт в формате бмп. Пишу ето так :

Rubashka:array [1..36] of Tpicture;
------------------
for i:=1 to 36 do Rubashka[i].Bitmap.LoadFromFile("Карты\"+IntToStr(i)+".bmp");

Компилируется, но при запуске программы вылетает EAccesViolaton with message "Acces Violation at adress 00458A1F"
Пишу ето в 7 версии Делфи, чо за фигня незнаю. Подскажите пожалуйста может я чото нетак делаю... Заранее благодарен


 
Vasilit   (2007-04-13 21:37) [1]


> Rubashka:array [1..36] of Tpicture;
> ------------------
> for i:=1 to 36 do Rubashka[i].Bitmap.LoadFromFile("Карты\"+IntToStr(i)+".
> bmp");


Помоему лучше будет так:

Rubashka:array [1..36] of TBitMap;
------------------
for i:=1 to 36 do
begin
 Rubashka[i] := TBitMap.Create;
 Rubashka[i].LoadFromFile("Карты\"+IntToStr(i)+".bmp");
end;
------------------
for i:=1 to 36 do Canvas.Draw(X, Y,  Rubashka[i]);
------------------
for i:=1 to 36 do
begin
 Rubashka[i].Free;
 Rubashka[i] := Nil;
end;


 
Veter ©   (2007-04-14 13:21) [2]


> Помоему лучше будет так:Rubashka:array [1..36] of TBitMap;
>  ------------------for i:=1 to 36 do  begin  Rubashka[i]
> := TBitMap.Create;  Rubashka[i].LoadFromFile("Карты\"+IntToStr(i)+".
> bmp"); end;------------------for i:=1 to 36 do Canvas.Draw(X,
>  Y,  Rubashka[i]);------------------for i:=1 to 36 do  begin
>  Rubashka[i].Free;  Rubashka[i] := Nil; end;

Vasilit, сделал как Вы написали, но опять та же беда =( Компилируется нормально, но при запуске EAccesViolation. Я вот думаю может ето у меня с самой Делфой беда? Ошибку показует в строчке :
> Rubashka[i] := TBitMap.Create;

Если ето с Делфой бок то подскажите где можно скачать нормальную...


 
Veter ©   (2007-04-14 13:48) [3]

Спасибо огромное за подсказку, сделал. Проблема была в такое ерунде шо стыдно говорить =) наверное когда обьявлял массив забыл поставить [1..36]


 
antonn ©   (2007-04-15 12:14) [4]


> наверное когда обьявлял массив забыл поставить [1..36]
>

наверное забыл создать изображение перед использованием...


 
Veter ©   (2007-04-15 15:43) [5]

Всем привет еще раз! Подскажите если кто знает а можно ли проделать
> Rubashka:array [1..36] of TBitMap; ------------------for
> i:=1 to 36 do  begin  Rubashka[i] := TBitMap.Create;  Rubashka[i].
> LoadFromFile("Карты\"+IntToStr(i)+".bmp"); end;---------
> ---------for i:=1 to 36 do Canvas.Draw(X, Y,  Rubashka[i]);
> ------------------for i:=1 to 36 do  begin  Rubashka[i].
> Free;  Rubashka[i] := Nil; end;

только при етом использовать самодельный .RES файл???


 
antonn ©   (2007-04-15 16:01) [6]

можно, смотри в сторону TResourceStream и TmemoryStream. не помню точно, можно ли сразу из TResourceStream загрузить в битмап...


 
_Аноним   (2007-04-16 10:22) [7]


> antonn ©

Судя по всему можно, если TResourceStream является таки стримом, потому что сам битмап из стрима умеет грузиться



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

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

Наверх




Память: 0.46 MB
Время: 0.044 c
15-1201770344
SkyN
2008-01-31 12:05
2008.03.09
Бесплатным аналог VTune для Delphi7?


2-1202891080
alexnmsk
2008-02-13 11:24
2008.03.09
Поток в dll


2-1202772539
Abcdef123
2008-02-12 02:28
2008.03.09
Вопрос по Exception.


2-1202760380
Steep
2008-02-11 23:06
2008.03.09
строки....


2-1202979105
Ega23
2008-02-14 11:51
2008.03.09
Запуск внешней программы в невидимом режиме





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский