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 if (Controller as IPresupuestosClienteReportController).ExportToWord(ListaID[I]) then ShowInfoMessage('El presupuesto se ha exportado correctamente.'); end; end.