删除在运行时创建的TLabel

Айм*_*мед 4 delphi vcl runtime

如何删除创建的标签,我google了很长时间但没有出现!,我尝试FindComponent但faild,我要做什么?我应该将父母设置为其他组件,如TPanel或什么?我感到很困惑!

procedure TForm1.Button1Click(Sender: TObject);
var
  lblLink: TLabel;
begin
   for i := 0 to stringtList.Count-1 do
   begin 
     lblLink := TLabel.create(self);

     with lblLink do
     begin
       name:='lblLink'+inttostr(i);
       caption:inttostr(i);
       Parent := self;
       font.style := [fsUnderline];
       cursor := crHandPoint;
       color := clBlue;
       font.Color := clBlue;
     end;
   end;
end;
Run Code Online (Sandbox Code Playgroud)

RRU*_*RUZ 10

您可以迭代Components属性,然后检查组件的名称,最后释放组件.

Var
  LIndex : Integer;
  LComponent : TComponent;
begin
  for LIndex := ComponentCount-1 downto 0 do
    if StartsText('lblLink',Components[LIndex].Name) then
    begin
     LComponent:=Components[LIndex];
     FreeAndNil(LComponent);
    end;
end;
Run Code Online (Sandbox Code Playgroud)