Форум: "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