Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-07-2006
MsYo MsYo is offline
Registrado
 
Registrado: jul 2006
Posts: 3
Poder: 0
MsYo Va por buen camino
casting Composite Report: error al imprimir

Hola,
estoy desarrollando una función que, a groso modo es como sigue:

function Previsualizar (informe: TObject; ............);



var
CReport: TTQRCompositeReport;
QReport: TQuickRep;
tipo: integer;



begin
if (informe.ClassName = TQRCompositeReport.ClassName) then



begin
tipo := 0;
CReport := TQRCompositeReport (informe);



end else
if (informe.ClassName = TQuickRep.ClassName) then



begin
tipo := 1;
QReport := TQuickRep (informe);



end;

case tipo of
0: CReport.Preview;
1: QReport.Preview;
end;



end;

(No hago el casting de la forma "informe as TQRCompositeReport" ya que salta una excepción del tipo: "invalid class typecast".)

El problema es el siguiente: el preview se realiza correctamente, pero cuando se pulsa el botón de Imprimir, casi siempre (aunque no siempre, lo cual es muy extraño) sale una ventana de error aludiendo a la DLL en la que tengo la función y no se puede imprimir. Pero no sé por donde atacar, ya que el botón de imprimir y su evento es interno al previsualizador del composite.

Si alguien ha tenido algún problema similar o puede darme informacion útil se lo agradeceré.
Responder Con Cita
  #2  
Antiguo 20-07-2006
MsYo MsYo is offline
Registrado
 
Registrado: jul 2006
Posts: 3
Poder: 0
MsYo Va por buen camino
Debí haber informado también de que esa función está dentro de una DLL, es decir, que desde un ejecutable estoy pasando un Composite Report a una DLL para que lo previsualice y lo imprima.

El caso es que acabo de acotar más el problema. He evitado lo del casting creando una función para cada tipo de informe tal que así:

function Previsualizar (informe: TQuickRep; ............); overload;

function Previsualizar (informe: TQRCompositeReport;....); overload;

Aún así sigue produciéndose el mismo error, por lo que quizás el problema no esté en el casting sino en el hecho de pasar el composite a una DLL y que sea ella la que llame al Preview.
Responder Con Cita
  #3  
Antiguo 24-07-2006
MsYo MsYo is offline
Registrado
 
Registrado: jul 2006
Posts: 3
Poder: 0
MsYo Va por buen camino
Definitivamente el problema ocurre al pasar el Composite a una DLL (con un QuickReport sencillo no hay ningún problema) y hacer el Preview desde dentro de la DLL. Todo parece ir bien, pero al pulsar el botón de Imprimir en el previsualizador sale un error. No se da el problema si se hace un Composite.Print() por código.

Debe de ser un bug del CompositeReport, y parece que los de QuSoft no están actualizando, así que nos tendremos que buscar la vida.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Def. de constantes - Casting Mariana OOP 3 21-10-2005 19:24:23
Casting de TComponent en TEdit jamonete2 Varios 2 12-06-2005 15:56:19
Imprimir report en formato comprimido Luis M. Impresión 0 14-03-2005 20:58:03
Imprimir composite report desde preview personalizado SnaKe Impresión 5 11-05-2004 09:31:50
Ayuda por favor. QR + composite + pageheader KayserSoze Impresión 3 12-02-2004 17:10:33


La franja horaria es GMT +2. Ahora son las 02:49:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi