unit uEditorPresupuestosClienteReport; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorPresupuestosClientePreview, JvExComCtrls, JvStatusBar, frxDMPExport, frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode, JvAppStorage, JvAppRegistryStorage, JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl, frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS; type TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview) TBXItem58: TTBXItem; procedure actExportarRTFExecute(Sender: TObject); end; implementation {$R *.dfm} uses uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils; procedure TfEditorPresupuestosClientePreview.actExportarRTFExecute( Sender: TObject); var I: Integer; begin // inherited; <- No llamar al padre if not Assigned(Controller) then raise Exception.Create('No se ha asignado el controlador necesario'); for I := 0 to ListaID.Count - 1 do (Controller as IPresupuestosClienteReportController).ExportToWord(ListaID[I]); ShowInfoMessage('El presupuesto se ha exportado correctamente.'); end; end.