Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Delphi Abstract Error?

0 views
Skip to first unread message

Erkki Latomaa

unread,
Nov 23, 2009, 7:02:21 AM11/23/09
to
Alla oleva koodi aiheuttaa EAbstract Error tapahtuman, kun luotujen
olioiden määrä ylittää tietyn määrän.
Esim. 50 objektia toimii ongelmitta. 60 aukeaa, mutta ohjelmaa
sulkiessa tulee AV error. 90 objektia saa jo
koko ohjelman sekoilemaan...
Onko tässä joku perustavaa laatua oleva virheajatus?
Eki


// tehdään 136 x 255 suuruiselle panelille "ruutumatriisi"
// 8 saraketta ja 15 riviä = 120 ruutua
// ruudut ovat 17 x 17 pikselin kokoisia TLabel komponentteja

row := 0; column := 0; Left := 0; Top := 0;
for i := 1 to 120 do // Matriisi 8 x 15 TLabel "ruutua"
begin
Inc(column);
if column > 8 then
begin
Inc(row);
Left := 0;
Top := Top + 17;
column := 1;
end;

Labels[i] := TLabel.Create(nil);
Labels[i].Parent := pnlBtns;
Labels[i].Name := 'Ruutu'+IntToStr(i);
Labels[i].Transparent := false;
Labels[i].Color := clSilver;
Labels[i].Alignment := taCenter;
Labels[i].Layout := tlCenter;
Labels[i].AutoSize := False;
Labels[i].top := Top;
Labels[i].left := Left;
Labels[i].Width := 17;
Labels[i].Height := 17;
Labels[i].Font.Name := 'Arial Narrow';
Labels[i].Font.Size := 8;
Labels[i].Caption := IntToStr(i);
Labels[i].Tag := i;
Left := Left + 17;
end;

Erkki Latomaa

unread,
Nov 23, 2009, 9:32:52 AM11/23/09
to

Sorry... taasen oma kämmi... Labels array oli määritelty liian
lyhyeksi esittelyssä!
Eli virhe oli "perustavaa laatua" kuten jo epäilinkin!
Eki
--

private
Labels : array [1..120] of TLabel;

Vesa Lappalainen

unread,
Nov 25, 2009, 12:46:09 PM11/25/09
to
Erkki Latomaa <oh...@yahoo.se> wrote:
> Labels[i] := TLabel.Create(nil);

Olisi hyv� ett� olille annetaan omistaja.
Vrt. edellinen esimerkkini.

Vesa

0 new messages