unit uArticulosPresupuestoClienteController; interface uses uDADataTable, uArticulosController, uBizArticulos; type IArticulosPresupuestoClienteController = interface(IArticulosController) ['{B334F1FC-65B7-4E77-8D1B-A7CF12F6CF3C}'] end; TArticulosPresupuestoClienteController = class(TArticulosController, IArticulosPresupuestoClienteController) public function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override; end; implementation { TArticulosPresupuestoClienteController } uses Controls, cxControls, uIEditorElegirArticulosPresupuestosCliente, uIEditorElegirArticulos; function TArticulosPresupuestoClienteController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; var AEditor : IEditorElegirArticulosPresupuestosCliente; begin Result := NIL; ShowHourglassCursor; try CreateEditor('EditorElegirArticulosPresupuestosCliente', IEditorElegirArticulosPresupuestosCliente, AEditor); if Assigned(AEditor) then with AEditor do begin Controller := Self; Articulos := AArticulos; MultiSelect := AMultiSelect; Mensaje := AMensaje; if IsPositiveResult(ShowModal) then Result := ArticulosSeleccionados; Release; end; finally AEditor := NIL; HideHourglassCursor; end; end; end.