我在delphi中使用动态数组。
VAR
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?
答案 0 :(得分:3)
如果您需要多个TFrame3实例,则需要在创建后为其命名。
所以改变
<p>
到
frame3[count] := TFrame3.create(self);
gridpanel2.insertcontrol(frame3[count]);
答案 1 :(得分:1)
另一个问题是,在代码中没有看到如何更改count
循环变量。它是事先定义的吗?
你需要做这样的事情:
procedure TForm1.Button1Click(sender:TObject);
var count:byte;
begin
for count:=1 to 10 do
begin
frame3[count] := TFrame3.create(self);
...
end;
或在创建每个数组成员(类实例)之前使用任何其他方式设置count
。此代码甚至可能根本不需要设置Name
属性。