我有这种类型

type
 TMain = class(TForm)

 panel1: Tpanel;
 panel2: Tpanel;
 panel3: Tpanel;
 panel4: Tpanel;
 panel5: Tpanel;
 panel6: Tpanel;
 panel7: Tpanel;
 panel8: Tpanel;
 ......
 panel45: Tpanel;

 label1: TLabel;
 label2: TLabel;
 label3: TLabel;
 label4: TLabel;
 label5: TLabel;
 label6: TLabel;
 label7: TLabel;
 ...........
 label109: TLabel;


如何在Type内的一行中调用此组件?

谢谢 ...

更新日期...

从anwser的基础上,我获得并接受了它,当我拥有所有这些组件并执行诸如button1.click之类的操作时,它会发挥很大的作用。

但是我以前是从单位来做动作的...所以

当我单击按钮时,我会执行一个过程DoMaths(Sender:TObject);

procedure Tform1.DoMaths(Sender: TObject);
  begin
    if TButton1(Sender).hint := 'Make the standard Package' then
      do_Maths_standard_package;
  end;


do_Maths_standard_package位于ComplexMaths单位中。

是do_Maths_standard_package表单单元ComplexMaths的过程,它调用Form1 ... Form1.label1等组件。

因此,当我调用RegisterClass(TLabel)并从类型中删除Tlabel时,它给出了一个错误,即找不到Label1 ...

请有人可以帮助我,以便不要从头开始进行孔加工...

再次感谢你...

最佳答案

您可以删除TPanel或TLabel的名称,然后它仅存在于控件列表中,而不存在于表单的类型声明中。您要么需要保留一个标签和一个面板,要么
加:

initialization
  RegisterClass(TPanel);
  RegisterClass(Tlabel);
end.


在表格末尾。

这使得具有很多控件的表单更加整洁。

09-25 21:05