Hola a todos...
De ante mano le agradezco que lean este problemilla.
Estoy creando unas etiquetas en tiempo de ejecución conforme a una lista de empleados esto lo hago de la siguiente manera:
Código Delphi
[-]
procedure TFmRegistro.CrearListaReg;
const Nom = 'Lb';
var i: Integer;
begin
ScrollB.DestroyComponents;
For i:=1 to DataMod.TbEmpleados.RecordCount do
begin
Etiqueta:= TLabel.Create(ScrollB);
Etiqueta.Caption:= DataMod.TbEmpleadosNOMBRECOMP.DisplayText;
Etiqueta.Width:= 300;
Etiqueta.Left:= 8;
Etiqueta.Top:= 8 + i*20;
Etiqueta.Name:= Nom + DataMod.TbEmpleadosID_EMPLEAD.DisplayText;
Etiqueta.Parent:= ScrollB;
Etiqueta.OnClick:= Self.MiClick;
Textos:= TStaticText.Create(ScrollB);
if DataMod.TbTipoEmp.FindKey([DataMod.TbEmpleadosIDTIPO_EMP.DisplayText]) then
Textos.Caption:= DataMod.TbTipoEmpTIPO.DisplayText + ' ' + '$:' + DataMod.TbTipoEmpSUELDO_BAS.DisplayText + ' ' + LbEdAcierre.Text;
Textos.Width:= 300;
Textos.Left:= 328;
Textos.Top:= 8 + i*20;
Textos.Parent:= ScrollB;
DataMod.TbEmpleados.Next;
end;
end;
Este código me funciona muy bien el problema es que cuando quiero marcar a un empleado con la falta al darle click la etiqueta que se supone ya le asigne un nombre y esta creada; no me crea el componente, para buscarlo hago lo siguiente:
esto es solo una prueba para saber si me identifica las etiquetas:
Código Delphi
[-]
procedure TFmRegistro.Button1Click(Sender: TObject);
var
i:Integer;
begin
for i:= 0 to ComponentCount -1 do
if Components[i] is TLabel then
TLabel(Components[i]).Caption := 'Arpeel';
end;
Lo que pasa es que la etiquetas creadas en tiempo de diseño no tiene problema pero las que yo estoy creando no las encuentra.
Espero que me entiendan, no se si es tanta mi frustración que digo tanto y al final de cuentas no me doy a enter.
De antemano gracias.