Ver Mensaje Individual
  #3  
Antiguo 16-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 24
andres1569 Va por buen camino
Hola:

Creo que lo más apropiado es que la creación de esos Items la realices en el método SetDataSet de TDBViewer, así se inicializan cada vez que el programador/usuario cambia el DataSet, ya sea en diseño o en ejecución (al crearse el TDBViewer no puede ser porque aún no sabemos cuál es el DataSet). Para evitar que se sobreescriban los valores cuando se lea del archivo .DFM, haces la comprobación de la variable State:
Código:
procedure TDBViewer.SetDataSet (Value: TDataSet);
begin
  if Value <> FDataSet then
  begin
    FDataSet := Value;
    if NOT (dsReading in ComponentState) then
    begin
      FFieldDefs.Clear;
      // aquí rellenas los Items tomados del DataSet
    end;
    if Value <> nil then Value.FreeNotification;
  end;
end;
__________________
Guía de Estilo
Responder Con Cita