Hola a todos!
Tengo un formulario que tiene un panel llamado PNLFiltro.
Tengo un Frame llamado FRMFiltro que tiene un Label y unos Edits para rellenar los parámetros de filtrado.
Debo crear dinámicamente tantos filtros como índices tenga.
El problema es que los crea, pero no se ven.
Este es el procedimiento que utilizo para crearlos.
Código Delphi
[-]procedure TFMConsultaLotes.EFTipoLoteChange(Sender: TObject);
var
tsCodigo, tsTitulo, tsIDIndice : TStrings;
i : integer;
aFiltro : TFRMFiltro;
begin
inherited;
ETituloTipoLote.Text := DMMain.DameTituloTipoLote(EFTipoLote.Text);
tsCodigo := TStringList.Create;
tsTitulo := TStringList.Create;
tsIDIndice := TStringList.Create;
try
DMMain.RellenaIndices(EFTipoLote.Text, tsCodigo, tsTitulo, tsIDIndice);
with PNLFiltro do
begin
for i := 0 to ComponentCount - 1 do
if (Components[i] is TFRMFiltro) then
Components[i].Free;
end;
for i := 0 to tsCodigo.Count - 1 do
begin
aFiltro := TFRMFiltro.Create(PNLFiltro);
aFiltro.CargaCampos(tsTitulo[i], StrToIntDef(tsIDIndice[i], 0));
aFiltro.Align := alTop;
aFiltro.Visible := True;
aFiltro.Show;
aFiltro.BringToFront;
end;
PNLFiltro.Repaint;
finally
tsCodigo.Free;
tsTitulo.Free;
tsIDIndice.Free;
end;
end;