Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   No se imprime listado en Rave report (https://www.clubdelphi.com/foros/showthread.php?t=87972)

identsoft 26-03-2015 13:08:35

No se imprime listado en Rave report
 
Buenas, un saludo para todos.
A ver si consigo explicarme.
Tengo un formulario delphi (XE2) que en funcion de un TEDIT hace una llamada a un listado1 o a un listado2.
La llamada al listado se hace de la siguiente manera:
Código Delphi [-]
 
       if edtVari.Text = 'S' then
            RvProject1.SelectReport('lsListado1', true)
        else
            RvProject1.SelectReport('lsListado2',true);
        RvProject1.Open;
        RvProject1.Execute;
        RvProject1.Close;

los dos listados estan en el mismo proyecto.
Ahora viene el problema.
Si ejecuto un listado (cualquiera de los dos) tengo que cerrar la aplicacion completamente para poder ejecutar el otro listado.
¿Alguien save porque sucede esto?.¿Me falta algo?
Gracias.

Casimiro Notevi 26-03-2015 14:02:11

¿Puede ser el orden?

Código Delphi [-]
rvprj.open
rvprj.selectreport
rvprj.execute
rvprj.close

identsoft 26-03-2015 14:08:06

No.Da error :No existe el report ''
Primero hay que seleccionar un reporte dentro del proyecto.

Casimiro Notevi 26-03-2015 14:18:20

¿Seguro?
Creo haber visto código y era así.

identsoft 26-03-2015 15:38:38

Seguro.
Acabo de probarlo.

orodriguezca 26-03-2015 16:13:10

En Delphi 2010 me funciona así:

Código Delphi [-]
        
  RvProject.ProjectFile := '.\Facturas.rav';   
  if RvProject.SelectReport('RptPortadaFactura', False) then   
  begin     
    {aqui va código para adornar el reporte}      
    RvProject.Execute;    
  end


En este caso se está utilizando el reporte 'RptPortadaFactura', pero más adelante, en el mismo procedimiento se ejecuta:

Código Delphi [-]
   
    RvProject.ProjectFile := '.\Facturas.rav';     
    if RvProject.SelectReport('RptSoporteFacUvi', False) then       
      RvProject.Execute;


y trabaja perfectamente. Notese que no utilizo RvProject.Open o RvProject.Close;

identsoft 26-03-2015 16:45:11

Así es como lo he hecho en otros reports y siempre ha funcionado. Pero en este caso no funciona.
¿Tendra algo que ver que los dos reports utilizan los mismos DataWiew?

identsoft 26-03-2015 16:58:48

por preguntar algo

ElDioni 26-03-2015 17:07:42

Yo tampoco utilizo Open y Close y me funciona lo de elegir un Report y luego cambiar a otro, si que es verdad que para cada report tengo su dataview pero no creo que sea por eso, debería dar igual. De todas formas no has dicho que es lo que pasa en tu caso, ¿te vuelve a salir el mismo reporte?, ¿te dar un error?, ¿te aparece las filas con "invalid"?, ¿se queda bloqueado?

Saludos.

orodriguezca 26-03-2015 17:20:57

Humm, Yo sospecho del mayordomo. ¿ EdtVari.Text si tiene el valor que se espera ?

identsoft 26-03-2015 17:24:36

Solucionado.
Gracias a todos por vuestro tiempo.
El problema estaba que en el OnCreate del formulario tenia puesto:

RPDefine.DataID := IntToStr(HInstance)

Ha sido quitarlo y parece que funciona bien.

Lo que no se es que hacia esa linea


La franja horaria es GMT +2. Ahora son las 10:25:41.

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