Tablica z TStringList

0

Witam!

Mam następujący problem:
Muszę stworzyć tablicę w której zaladuję 40 rożnych obrazków (JPG), a potem ten obrazek wyświetlić w TImage.

Wydaje się proste, ale jak tablice stworze jako TPicture to nie moge załadować obrazków do tablicy. Natomiast jeśli ją zadeklaruje jako TBitmap, albo TGraphic to wyskakuje błąd podczas ładowania do TImage.

Co robie nie tak?
Jak zadeklarować tą tablicę?

Proszę o odpowiedź!

P.S. Do SZ.P. Adminów:
Proszę nie usuwać tego posta (piszę to bo mam wrażenie, że ktoś się na mnie uwziął).

0

A choćby

Tablica : Array [1..40] of TBitmap;

procedure inicjuj(i:integer);
begin
Tablica[i]:=TBitmap.Create;
end;

procedure rysuj(x,y,i:integer;c:TCanvas);// nie wiem czy to ruszy
begin
 c.draw(x,y,tablica[i]);
end;

:-)

PS. do procedury rysuj nie jestem pewny, jezeli wszystko ruszy to pamietaj o zwolnieniu pamieci :-P

0

Dzięki, ale to nie to.
Ja musze załadować do tablicy obrazek z pliku JPG i nie mogę sobie poradzić... CHLIP ;-( ;-( ;-(

Ale i tak THX za zainteresowanie!

no to zrób sobie tablice TJPGImage

Powiem tyle: HELP!!

0

no to zrób sobie tablice TJPGImage :-P

0

OK ten problem już rozwiązałem, ale pojawia się następny, tym razem z TStringList:

Mam tablice z TStringList i próbuje dodać do niej jedną linię z RichEdit'a:
<font size="9">(Może i kod nie wygląda dokładnie tak, ale jest coś w tym stylu)</span>

[code]
procedure JakasTam;
var
Tablica : array of TStringList;
begin
SetLength(Tablica, 5);
Tablica[0].Add(RichEdit1.Lines.String[0]);
end;[/code]

Program się kompiluje jest wszystko OK dopoki nie wywolam procedury JakasTam. Wówczas wyskakuje bład: "Access violation at address 00481307 in module 'JakisTam'. Read of address 00000000".

Wie ktoś co jest nie tak?

Proszę o pomoc!

0

Bo nie stworzyłeś obiektu TStringList.

Tablica[0]:=TStringList.Create;

Bez tego, odwołujesz się do miejsca w pamięci, które nie istnieje.

0

Niestety to nie to.

Robiąc jak mówisz wyskakuje błąd przy kompilacji:
[Error] Main.pas(366): Incompatible types: 'TStringList' and 'dynamic array' :-( :-(

0

Prawidłowy kod :

var
    Tablica : array of TStringList;
begin
    SetLength(Tablica, 1);
    Tablica[0] := TStringList.Create;
    Tablica[0].Add(RichEdit1.Lines[0]);
end;

Błąd wyskoczył, ale zdzieliłem go przez łeb i już działa. ;-)

0

SUPER DZIALA!!

Wielkie dzięki Panowie!! [browar]

Zaczynam odzyskiwać wiarę w ten serwis :-)

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