Hola.
Recordé que sólo se deben borrar aquellos paneles cuyos CheckBox estén chequeados...
Dado que en la creación, a paneles y CheckBoxes les das nombres que sólo difieren de otros sólo por su terminación (PnlUser
1, PnlUser
2,...) (CheckMail
1, CheckMail
2, ...). Además contenedor y contenido se corresponden en ese último número y que cada panel tiene contiene un CheckBox, se puede efectuar la eliminación mediante un método enviando como argumento sólo el número:
Código Delphi
[-]
procedure TForm1.FreePanel(const Nro: Integer);
var
C1: TComponent;
begin
C1 := FindComponent('PnlUser' + IntToStr(Nro));
if Assigned(C1) then
begin
if TCheckBox(FindComponent('CheckMail' + IntToStr(Nro))).Checked then
C1.Free;
end;
end;
Saludos