Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: TImaget taulukkoon?

koikko [17.10.2010 20:42:55]

#

Ohjelma kääntyy ilman virheilmoituksia, mutta ajettaessa kaatuu.

Lazarus heittää dialogin, jossa lukee:
Program Ohjelma raised expection class 'External:SIGSEGV'.

Ohjelman alkupuolella koodia.

...
var
  Form1: TForm1;
  kuvat:array [1..10] of TImage;
implementation
...
...
  kuvat[1]:=Image1;
  kuvat[2]:=Image2;
  kuvat[3]:=Image3;
...

Seuraavaan koodiin ohjelma kaatuu
for silmukan toimintariville:

...
var
count,r:integer;
arvo:string;
begin
arvo:=DBEdit2.Text;
count:=StrToInt(arvo);
for r:= 1 to count do
   kuvat[r].Visible:= true;

end;

Eikö noita Imageita voi käsitellä taulukossa?

t.kaitsu

Metabolix [17.10.2010 20:46:56]

#

Kyllä tuon pitäisi toimia, kunhan kuvat sijoitetaan taulukkoon jossain järkevässä vaiheessa eli ikkunan luonnin yhteydessä tai sen jälkeen. Oletko tarkistanut, mitä muuttujissa count ja r on, kun virhe tapahtuu? Kannattaa opetella käyttämään myös debuggeria, sillä näkisi ongelman suoraan.

koikko [17.10.2010 21:02:27]

#

Imaget laitetaan taulukkoon FormCreate prosessa.
count, r on oikeassa arvossa.
Mutta semmoinen kohta kuin Self lukee <error reading variable>
Sender kohta on oikein.


Nyt toimii. Kuvat pitää laittaa taulukkoon ENNEN tietokannan avaamista,
vaikka molemmat tehdään samassa proseduurissa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta