Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

AutoSize for ciklusban 2016 febr. 09 14:04 #1826

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
ok, megvan a hiba. Kell egy TObject v. ebből származó objektum is.

AutoSize for ciklusban 2016 febr. 09 12:09 #1823

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 504
  • Köszönetek: 86
A classes unitban TComponent osztály (class) van és nem Components változó.
Az olyan osztályok (csak az olyanok), melyek tartalmazhatnak alárendelt komponenseket rendelkeznek a Components tulajdonsággal (proprty).
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

AutoSize for ciklusban 2016 febr. 09 10:55 #1822

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Üdv!
Kódból hogyan érdemes a komponenseket bejárni és autosize-t true értékre állítani?
Így próbáltam:
procedure mainForm.OnActivate;
  for i:=0 to ComponentCount-1 do begin
    (Components[i] as TControl).AutoSize:= True;
  end;

"Invalid type cast" kivétel keletkezik valamelyik komponensnél.
Hogy lenne helyes ez?


Illetve egy saját unit-be tenném bele, de a Components változót nem ismeri. A doksi szerint a classes unit-ban van ez.
Hiába van a uses részben a Classes, a fordító azt mondja, hogy "unknown identifier Components". Miért is?

  • Oldal:
  • 1