Obrazki...

0

Witajcie! Domyślnie ImageList wkompilowywuje wszystkie obrazki do exeka... a ja chciałbym aby program korzystał z plików 'z zewnatrz'. Z pomocą przysły mi klasy TPiture i TBitmap... Ok, wszystko pięknie ale... One same w sobie nie potrafią 'rysować'... więc musiałbym z czegoś innego korzystać... Chciałem DXImageList użyć, ale wyskakuje komunikat, że nie można do read-only przypisać czegośtam... Moje pytanie - jak rozwiązać problem ?

0

a jak zrobisz:

image1.picture.loadfromfile('plik.bmp');
form1.canvas.draw(0,0,image1.picture.graphic);

do DXlist da sie wczytac obrazki, ale juz nie pamietam jak :D

0

Długo się nad tym męczę, więc może Wy coś poradzicie:
Program wywala się, jeżeli tworzę klasy.... a konkretnie:

Wszystko jest ok:

for i:=0 to length(obrazki.czolgi) do obrazki.czolgi[i]:=Tbitmap.Create;
//for i:=0 to length(obrazki.efekty) do obrazki.efekty[i]:=Tbitmap.Create;

Wszystko jest ok:

//for i:=0 to length(obrazki.czolgi) do obrazki.czolgi[i]:=Tbitmap.Create;
for i:=0 to length(obrazki.efekty) do obrazki.efekty[i]:=Tbitmap.Create;

wywala się:

for i:=0 to length(obrazki.czolgi) do obrazki.czolgi[i]:=Tbitmap.Create;
for i:=0 to length(obrazki.efekty) do obrazki.efekty[i]:=Tbitmap.Create;

Pytanie - dlaczego ?? Jezeli tworze osobno to wszystko jest ok, ale jezeli chce stworzyc druga to sie wywala... dla wyjasnienia:

  TObrazki = record
    czolgi : array[0..7] of TBitmap;
    efekty : array[0..5] of TBitmap;
...
Obrazki:TObrazki;

Wiecie moze dlaczego ? :/ Co ciekawsze, efekty 'niestworzenia klasy' sa widoczne podczas dzialania programu, ale dopeiro wywala sie podczas alt+F4owiania (w onclose mam *.free;)

0
for i:=0 to length(obrazki.czolgi)-1 do obrazki.czolgi[i]:=Tbitmap.Create;
for i:=0 to length(obrazki.efekty)-1 do obrazki.efekty[i]:=Tbitmap.Create;

length(obrazki.czolgi) = 8, a indeks jest do 7
length(obrazki.efekty) = 6 - to samo

0

dzięki za pomoc, choć problemu to nie rozwiązuje... Zrobię inaczej, bez TGraphiców...

0

Therielu moze jestem monotonny ale... uzyj DXImageList w DelphiX
:-)

I z czym tam masz jeszcze problem?

//dopisane

A wywala Ci sie prawdopodobnie dlatego ze zwalniasz tam tez te obrazki w petli
for i:=0 to dlugosc tej tablicy...

i probujesz zwolnic obiekt o indeksie ktorego nie stworzyles...sprawdz...

1 użytkowników online, w tym zalogowanych: 0, gości: 1