unit uArticulosPedidoProveedorController; interface uses uDADataTable, uArticulosController, uBizArticulos; type IArticulosPedidoProveedorController = interface(IArticulosController) ['{8C8A8D8D-82D2-4434-81C3-36E4F43F3B3E}'] end; TArticulosPedidoProveedorController = class(TArticulosController, IArticulosPedidoProveedorController) public function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override; end; implementation { TArticulosPedidoProveedorController } uses Controls, uIEditorElegirArticulosPedidosProveedor, uIEditorElegirArticulos; function TArticulosPedidoProveedorController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; var AEditor : IEditorElegirArticulosPedidosProveedor; begin Result := NIL; CreateEditor('EditorElegirArticulosPedidoProveedor', IEditorElegirArticulosPedidosProveedor, AEditor); try with AEditor do begin Controller := Self; Articulos := AArticulos; MultiSelect := AMultiSelect; Mensaje := AMensaje; if IsPositiveResult(ShowModal) then Result := ArticulosSeleccionados; Release; end; finally AEditor := NIL; end; end; end.