[elektro-etc] Delphi kérdés
Info
info at kiralyelektronika.hu
Wed Dec 5 19:48:35 CET 2007
Szia !
> for x:=1 to 8 do Memo[x].Text:='';
> Erre azt mondja, hogy Undeclared Identifier: 'Memo'.
> Amúgy ha egyenként hivatkozok rá (Memo1.Text:='') akkor működik.
> Mi a gond?
Hát ez egy nagy hiba.
Ugyanis a "Memo1" az egy név, mint Judit vagy Anna vagy valami :)
Attól, hogy le veszel belőle egy betűt már meg is változik a jelentése
ugye. Pl.: pin+a :)
Ebből memóriacímet (illetve metódus-offszetet) fordít a compler.
A Memo[] viszont egy "Memo" nevű tömb. Tehát a compiler a Memo nevű
változó címét keresi, de sehol nincs létrehozva. Az, hogy TE meg tudod
különböztetni őket, a complier futási időben nincs jelen, ő csak
ténylegesen definiált adatot tud csak rögzíteni a kódba.
Ilyen for ciklusos dolgot többféleképpen meg lehet csinálni, de a
biztos módszer ha egyesével beirod: Memo1.Clear;...
Ha tömbözni akarsz akkor hozz létre egy Memo nevű tömböt, és töltsd
fel a példányokkal.
var Memo: array[0..3]of TMemo;
...
Memo[0] := Memo1;
...
Lehet lesz benne hiba, nem próbáltam.
More information about the Elektro-etc
mailing list