bien.
No discutiré si es la mejor forma de hacerlo o no, pero creo que podes definir una propiedad en el formulario, bien un DataSet o un DataSource (depende de tu conveniencia). Y el el método que asigne la propiedad hacer el "trabajo sucio" de identificar los campos y crear controles para ellos.
Algo como:
Código:
Type
TFormaABM = class(TForm)
private
...
FDataSet : TDataSet;
...
Procedure SetDataSet(Value : TDataSet);
public
Property DataSet : TDataSet read FDataSet write SetDataSet;
end;
Implementation
...
Procedure TFormaABM.SetDataSEt(Value : TDataSet);
Begin
if assigned(FDataSet) Then
BorrarControlesViejos;
FDataSet := Value;
CrearControlesNuevos;
FDataSet.FreeNotification(Self);
End;
Donde BorrarControlesViejos tendrá la lógica para eliminar los controles asociados al dataSet y CrearControlesNuevos tendrá la lógica para escanear la propiedad Fields del DataSet y crear los controles apropiados para cada uno.
En fin... es solo una idea.
Hasta luego.