Frames有什么特别之处,当你创建它们运行时它会自动分配一个名字?这在循环中使用时会导致问题,即:
for i := 0 to 3 do
TMyFrame.Create(self); //Error on 2nd pass
Run Code Online (Sandbox Code Playgroud)
在第一次传递时,框架是explicityl名为'MyFrame'.在第二次传递时,它会再次尝试将其命名为"MyFrame",这会导致异常,因为已经存在具有此类名称的组件.
其他组件或表单很乐意在没有为其指定名称的情况下创建.是什么赋予了 ?
这是Delphi 2006顺便说一下.
干杯
小智 1
您尝试创建相同的框架 4 次,每次创建框架时它都会具有相同的名称,避免的一种方法是
...
var
i: Integer;
lFrame: TFrame;
begin
for i := 0 to 3 do begin
lFrame := TFrame.Create(Self);
// assign a unique name to the frame
lFrame.Name := Format('MyFrame%d', [i]);
// set the parent, align, etc...
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |