我在delphi中使用动态数组。

变种

var
  frame3:array[0..10] of TFrame3
procedure TForm1.Button1Click(sender:TObject);
begin
    frame3[count] := TFrame3.create(self);
    gridpanel2.insertcontrol(frame3[count]);


但是此代码是“存在一个名为Frame3 alredy的组件。”
这个错误ido可以做什么?

最佳答案

如果您需要Frame3的多个实例,则需要在创建后为它重新命名。
所以改变

 frame3[count] := TFrame3.create(self);
 gridpanel2.insertcontrol(frame3[count]);


 frame3[count] := TFrame3.create(self);
 frame3[count].Name := 'Frame3_' + InttoStr(Count);
 gridpanel2.insertcontrol(frame3[count]);

10-07 23:03