我有几个在运行时填充有按钮的 TPanel。然而,我用来从父面板中释放按钮的下面的代码有时会生成访问冲突错误。
procedure TfrmTakeOrder.FreeItemButtons(buttons : array of TButton);
var
cnt,i : integer;
begin
for i := 0 to gridLayoutItems.ControlCount - 1 do
begin
buttons[i].Free;
buttons[i] := nil;
end;
end;
有更好的方法来做到这一点吗?请记住,其他面板也有按钮,我希望“本地化”释放不会与其他面板干扰的按钮。
最佳答案
在我看来,您正试图从 TPanel 中删除所有按钮,而该面板仅包含按钮。
试试这个:
while gridLayoutItems.ControlCount > 0 do
gridLayoutItems.Controls[0].Free;
关于Delphi - 从 TPanel 删除运行时生成的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291578/