Estoy realizando un formulario de carga y modificación de datos, en el cual se encuentran 6 DBLookupCombobox.
Cada uno toma los datos de un Stored Procedure propio.
En un comienzo, creí que debía asignar un TADOStoredProc y un TDataSource distintos a cada combo. Pero probé creandolos sobre las mismas variables ("sp1" y "ds1"...), y parece funcionar.

Mi duda es:
Esto es "estructuralmente" correcto en cuanto a la programación y a la asignación de recursos ??? o puede generarme problemas a futuro con la ocupación de memoria.
No se tampoco, si corresponde liberar o destruir las instancias creadas antes de reutilizarlas. O si hay forma de minimizar aun mas, el codigo total...
Desde ya agradezco vuestros conocimientos y consejos...
Un abrazo...
PD: Pongo un ejemplo con dos combos...
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,Dialogs, DBCtrls, DB, ADODB;
type
TForm1 = class(TForm)
conSQL: TADOConnection;
DBcbo1: TDBLookupComboBox;
DBcbo2: TDBLookupComboBox;
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
sp1:TADOStoredProc;
ds1:TDataSource;
begin
with sp1 do begin
sp1:=TADOStoredProc.Create(self);
Connection:= conSQL;
ProcedureName:= 'SPcboNombres';
Active:= true;
end;
ds1:=TDataSource.Create(self);
ds1.DataSet:= sp1;
with DBcbo1 do begin
ListSource:= ds1;
ListField:= 'Texto';
KeyField:= 'Valor';
end;
with sp1 do begin
sp1:=TADOStoredProc.Create(self);
Connection:= conSQL;
ProcedureName:= 'SPcboOrigen';
Active:= true;
end;
ds1:=TDataSource.Create(self);
ds1.DataSet:= sp1;
with DBcbo2 do begin
ListSource:= ds1;
ListField:= 'Texto';
KeyField:= 'Valor';
end;
end;
end.