Главная страница
    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.274 c
15-1201942448
kiber-pilot
2008-02-02 11:54
2008.03.09
Генерация словоформ


2-1202608791
bagos
2008-02-10 04:59
2008.03.09
глюк какойто или сервак рубит мой коннект


2-1203002402
webpauk
2008-02-14 18:20
2008.03.09
Handle


15-1201810312
@!!ex
2008-01-31 23:11
2008.03.09
Virtual Desktop Manager - release


10-1143627195
alk
2006-03-29 14:13
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский