Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
2-1202681612
Artem
2008-02-11 01:13
2008.03.09
Динамически созданный Memo на PageControl


15-1201900320
ProgRAMmer Dimonych
2008-02-02 00:12
2008.03.09
Подскажите, плз, направление поиска


8-1175961679
I-new
2007-04-07 20:01
2008.03.09
Внимированный Gif. Как сделать?


15-1201715595
oxffff
2008-01-30 20:53
2008.03.09
Ищу работу.


6-1181809096
DVM
2007-06-14 12:18
2008.03.09
Неблокирующий Connect() и недоступный узел.