Author: Jonas Bilinkevicius
Is it possible to have an array of components (for example TEdit) in a frame? If
so, must I create them at runtime?
Answer:
You can create the components at design time, as usual. But you have to set up the
array with the component references at run-time. This is quite painless if you use
the default naming for the components the IDE produces, or something equivalent,
with a running number at the names end:
1 { ... }2 private3 Edits: array[1..10] of TEdit;
4 public5 6 constructor Create(aOwner: TComponent); override;
7 { ... }8 9 constructor TFrameX.Create(aOwner: TComponent);
10 var11 i: Integer;
12 edt: TComponent;
13 begin14 inherited;
15 for i := Low(Edits) to High(Edits) do16 begin17 edt := FindComponent('edit' + IntToStr(i));
18 Assert(Assigned(edt), 'Edit' + IntToStr(i) + ' not found!');
19 Edits[i] := edt as TEdit;
20 end;
21 end;