PDA

Ver la Versión Completa : Ruta destino Rave Reports


elrodrix
03-07-2013, 20:41:10
Que tal ? estoy trabajando en una aplicacion que tira un reporte en rave reports. Utilizo rave reports para confeccionar mi reporte. En el proyecto delphi, en el formulario, utilizo el componente TRvProject para lanzar el reporte.

Mi consulta es la siguiente: resulta que todo funciona muy bien, pero a la hora de crear un instalador (con instalshield), instalo el programa en otra maquina, y quiero tirar un reporte, me da un error, que el componente no encuentra el archivo .rav en la ruta especificada. Esto se debe a que en mi componente TRvProject, en la propiedad ProjectFile, le asigne una ruta donde se encontraría el archivo .rav. Pero cuando instalo mi aplicación, el programa esta buscando esa ruta para lanzar el reporte, y obviamente no existe, ya que mi aplicacion se instala en archivos de programas de WINDOWS. En todo caso, para cada una de las maquinas donde instalo mi aplicacion, deberia crear una carpeta y cada una de las subcarpetas con la ruta especifica en donde guardaria mi archivo .rav. les dejo una captura.

http://i.minus.com/inREmkpOm3wQY.png

Mi pregunta es: Existe alguna forma de que, el componente TRvProject busque el archivo .rav dentro de la raiz donde se encuentra el proyecto?. En realidad cuando estoy trabajando con el proyecto, el archivo .rar si se guarda en la raiz del proyecto (en C:\user\misdocumentos\proyecto\etc...) pero cuando genero el instalador, el componente TRvProject sigue buscando esa ruta para tirar el reporte, y obviamente en ninguna maquina que instalo mi aplicacion se encuentra. Tiene Solucion? .. gracias y saludos !

FGarcia
03-07-2013, 22:53:07
Establece en el evento OnCreate del Form el siguiente codigo:

//Establecemos la ruta de la aplicacion
RutaAPP := ExtractFilePath(ParamStr(0));


RvSystem1.SystemSetups := rvSystem1.SystemSetups - [ssAllowSetup];
RvProject1.ProjectFile := RutaAPP + 'Reporte1.rav';

Si tu aplicación ya esta probado que funciona correctamente borra cualquier dato que tengas en tiempo de diseño en el inspector de objetos para estas propiedades del Rave. Estoy suponiendo que tu reporte esta fuera del exe. Si el reporte no requiere modificaciones a futuro lo puedes incrustar también en el exe y te quitas de problemas.

Nos comentas tus resultados.

Saludos!

elrodrix
04-07-2013, 13:19:33
Muchas gracias, ahora prueba y comento como me fue !

elrodrix
04-07-2013, 13:42:27
Establece en el evento OnCreate del Form el siguiente codigo:

//Establecemos la ruta de la aplicacion
RutaAPP := ExtractFilePath(ParamStr(0));


RvSystem1.SystemSetups := rvSystem1.SystemSetups - [ssAllowSetup];
RvProject1.ProjectFile := RutaAPP + 'Reporte1.rav';

Si tu aplicación ya esta probado que funciona correctamente borra cualquier dato que tengas en tiempo de diseño en el inspector de objetos para estas propiedades del Rave. Estoy suponiendo que tu reporte esta fuera del exe. Si el reporte no requiere modificaciones a futuro lo puedes incrustar también en el exe y te quitas de problemas.

Nos comentas tus resultados.

Saludos!

Funciono exelente ! .. muchas gracias la verdad ! . un detalle menor, para el muy novato, antes de todo hay que declarar la variable "RutaAPP" de tipo string. Lo demas es genia ! .. saludos y mil gracias !

FGarcia
04-07-2013, 19:02:51
antes de todo hay que declarar la variable "RutaAPP" de tipo string

No fue un olvido, solo quería que hicieras el trabajo para ver si estabas atento........ :D

Que bien que funciono como tu querías, Saludos!!