我當前創建了兩個TLabels和一個TEdit動態地命名它們LblDesc + i,EdtAmount + i和LblUnit + i - 我每次添加這3個元素時迭代一個整數。元素中的數據僅用於模擬目的。 我現在的問題是刪除這三個對象。我試過免費和FreeAndNil,沒有運氣。 任何幫助,不勝感激。在Delphi中刪除TLabel
procedure TForm1.BtnAddClick(Sender: TObject);
begin
LblDesc := TLabel.Create(Self);
LblDesc.Caption := 'Item '+IntToStr(i);
LblDesc.Name := 'LblDesc'+IntToStr(i);
LblDesc.Left := 16;
LblDesc.Top := 30 + i*30;
LblDesc.Width := 100;
LblDesc.Height := 25;
LblDesc.Parent := Self;
EdtAmount := TEdit.Create(Self);
EdtAmount.Text := IntToStr(i);
EdtAmount.Name := 'EdtAmount'+IntToStr(i);
EdtAmount.Left := 105;
EdtAmount.Top := 27 + i*30;
EdtAmount.Width := 60;
EdtAmount.Height := 25;
EdtAmount.Parent := Self;
LblUnit := TLabel.Create(Self);
LblUnit.Caption := 'Kg';
LblUnit.Name := 'LblUnit'+IntToStr(i);
LblUnit.Left := 170;
LblUnit.Top := 30 + i*30;
LblUnit.Width := 50;
LblUnit.Height := 25;
LblUnit.Parent := Self;
i := i+1;
end;
procedure TForm1.BtnRemoveClick(Sender: TObject);
begin
//Delete
end;
什麼意思是「沒有運氣」?發生了什麼/沒有發生?無論如何,您需要顯示您實際嘗試用於刪除組件的代碼。 – MartynA
歡迎來到StackOverflow。請顯示您是如何嘗試刪除這些控件的。在任何情況下,您都可以保留創建的控件的引用,或者使用['FindComponent'](http://docwiki.embarcadero.com/Libraries/XE7/en/System.Classes.TComponent.FindComponent)後來。 –
我恢復了上次的編輯。如果您想要顯示最終工作的代碼,請將其作爲答案放在下面的空白處(標題*您的答案*)所屬的地方。回答你自己的問題在這裏完全可以接受。 –