Encontré la solución haciendo lo siguiente:
Código:
procedure TFrameClientes.limpiar_detalle;
var
i : integer;
begin
for i:=0 to FormPrincipal.FrameClientes1.ComponentCount-1 do
begin
if (FormPrincipal.FrameClientes1.Components[i] is TEdit) then
Tedit(FormPrincipal.FrameClientes1.Components[i]).text := '';
if (FormPrincipal.FrameClientes1.Components[i] is TCheckBox) then
TcheckBox(FormPrincipal.FrameClientes1.Components[i]).checked := false;
if (FormPrincipal.FrameClientes1.Components[i] is TMemo) then
TMemo(FormPrincipal.FrameClientes1.Components[i]).text := '';
if (FormPrincipal.FrameClientes1.Components[i] is TComboBox) then
begin
TComboBox(FormPrincipal.FrameClientes1.Components[i]).text := '';
TComboBox(FormPrincipal.FrameClientes1.Components[i]).itemindex := -1;
end;
end;
end;
Ahora quedaría otro reto.. y es hacer este procedimiento más general aún...
Que no lo tenga que escribir para cada frame.. sino que el frame fuera un parámetro y poder llamar al procedimiento como:
limpiar_detalle(FrameClientes1);
¿Alguien sabe cómo?
Salu2