Ver Mensaje Individual
  #1  
Antiguo 30-09-2003
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Reputación: 22
marto Va por buen camino
Error FastReport en cgi

Hola a todos,

Estoy intentando generar ficheros pdf desde web. Para ello la idea es generar un informe con FastReport, exportarlo a pdf y servir el pdf al navegador. El código para hacer esto és:
Código:
procedure GeneraPdf;
var
  t: TPsfrPDFExport;
begin
    t := TPsfrPDFExport.Create(Self);
    try
      with frReport1 do
      begin
        ShowPrintDialog := false;
        ShowProgress    := false;
        PrepareReport;
      end;
      t.ShowDialog := false;
      frReport1.ExportTo(t, NomPdf); 
     //NomPdf es un String con el nombre del fichero
    finally
      t.Free;
    end;
end;
En la TWebAction llamo a la función y redirecciono al pdf.

Si llamo al exe desde la consola (es un cgi, pero con un wincgi pasa lo mismo) funciona perfectamente, pero si lo ejecuto a través del servidor web, windows lanza un error (en el lado del servidor, claro) diciendo "unsuported format FRF".
Digo que es windows ya que todo el cgi se ejecuta en un bloque try except, en caso de saltar una excepción, devuelvo el mensaje en forma de HTML. Pues bien, windows saca ese mensaje y el cgi se queda bloqueado hasta que aceptas el mensaje. Cuando lo aceptas el programa levanta otra excepción (esta vez sí es el cgi, y el mensaje aparece en el HTML devuelto) con el texto "no printer currently selected".
He leído por ahí que la versión 2.5 de FR (la que yo uso) da un error si no hay impresora por defecto, pero es que el servidor sí tiene una impresora instalada.
Bueno, esto es todo, a ver si alguien me echa un cable porque necesito generar esos pdf's con urgencia y los informes ya los tengo hechos en FR.
__________________
E pur si muove
Responder Con Cita