Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problemas con Reportmanager en Delphi xe3 (https://www.clubdelphi.com/foros/showthread.php?t=89415)

JoAnCa 17-11-2015 23:58:09

Problemas con Reportmanager en Delphi xe3
 
Hola a todos
Recien comienzo a usar el Report Manager para crear mis reportes en Delphi XE3, y siguiendo los pasos del tutorial que esta en Delphi al Limite, todo muy bien hasta el paso donde voy a compilar la aplicacion

Me salta el error de que no encuentra: reportmanres.res y dbxdrivers.res

Uso MySQL y para conectar a Report Manager el Borlan DBExpress, funciona bien y me muestra el reporte correctamente
El componente que instale para delphi del R M, es la version 3 (delphi_components_3_0_pre1) al igual que report manager (reportman_designer_3_0pre3_x86.exe)
Le especifique los path del componente a delphi, pero en realidad no se donde estan los archivos esos

Que me faltará por configurar o instalar?

En cuanto puse el componente VCLReport me salta ese error

AgustinOrtu 18-11-2015 01:19:19

Fijate si hay algun paquete de Report Manager para compilar (los *.dpk)

Casimiro Notevi 18-11-2015 10:08:32

No deberías tener ningún problema, yo los he instalado sin ninguna incidencia.
Si te hiciera falta, tienes todo el código fuente.

JoAnCa 18-11-2015 14:19:52

1 Archivos Adjunto(s)
Tengo q revisar bien q pasa en la PC del trabajo, porque lo instale en mi casa y salio bien
Pero como novato en Report manager aún me falta algo, en la PC de mi casa compiló bien todo, y al tratar de mostrar el reporte me salta este error

"SALDOS: No se asigno un controlador a la conexion MYSQLCONNECTION"

Saldos es el conjunto de datos que defini en el RM, pero en el diseñador del reporte me muestra bien los datos, el reporte funciona como se espera

Que me faltará por configurar?
Donde tengo q asignar el controlador a la conexion?

Casimiro Notevi 18-11-2015 16:27:21

A ver si te sirve de algo esto.

pacopenin 18-11-2015 19:50:54

Recuerda que utiliza los archivos dbxconnections.ini y dbxdrivers.ini para definir el acceso a las bases de datos. Debes copiarlos y configurarlos convenientemente o manejarlo todo por código desde el programa.

JoAnCa 21-11-2015 17:09:27

Ya estuve leyendo el manual que me recomienda casimiro, y aunque en el propio RM me sale bien, cuando trato de mostrarlo con delphi, sigue dando el mismo error

Tambien revise los .ini y estan bien las configuraciones para la conexion con mysql

Y sigo sin poder mostrar el reporte :o

Alguien me puede recomendar otra alternativa para los reportes, de preferencia que no sea de pago?

Casimiro Notevi 21-11-2015 21:38:06

El problema es que no das información para que te ayudemos.
Mira alguno de los montones de ejemplos que tienes en la documentación, ayuda, ejemplos, etc.
Mejor que report manager es difícil que encuentres algo, además libre y gratis.
Yo he desarrollado proyectos bastante complejos con él, y es un sistema muy poderoso y amplio.

JoAnCa 23-11-2015 18:22:30

Cita:

Empezado por Casimiro Notevi (Mensaje 499703)
El problema es que no das información para que te ayudemos.
Mira alguno de los montones de ejemplos que tienes en la documentación, ayuda, ejemplos, etc.
Mejor que report manager es difícil que encuentres algo, además libre y gratis.
Yo he desarrollado proyectos bastante complejos con él, y es un sistema muy poderoso y amplio.

Pues a ver si me explico mejor
- Tengo Delphi XE3 instalado (Embarcadero Delphi XE3 Lite v6.0) version 17.0.4625.53395
- Instale Report Manager Designer version 3.0pre3 XP (aunque en las propiedades del exe dice la 2.8.4933.11441)
- Instale los componentes para delphi del Report Manager delphi_components_3_0_pre1

- En el Report Manager, configuro la conexion a los datos a MySQL con Borland DBExpress y añado una conexion MYSQLCONEXION
- En el controlador de la BD seleccioné "Borland DBExpress"
- En el conjunto de datos del informe escribi la consulta para obtener los datos que necesito
- Cuando doy clic en conectar, me dice conexion correcta
- Al dar clic en vista previa, me muestra el reporte correctamente
- Guardo el reporte saldos.rep

- En Delphi agrego el control TVCLReport al formulario
- En el evento de un boton escribo:

Código Delphi [-]
VCLReport1.Filename := 'Report\saldos.rep';    
VCLReport1.Preview:=True;   
VCLReport1.Execute;

- Compilo la aplicacion y se jecuta bien
- Cuando le doy clic al boton de mostrar el reporte me da este error:

Cita:

"SALDOS: No se asigno un controlador a la conexion MYSQLCONNECTION"
Al parecer estoy haciendo algo mal, o me falta algo por hacer

JoAnCa 23-11-2015 18:30:37

uff, edito porque me salio repetido el post, que un moderador elimine este

Casimiro Notevi 23-11-2015 19:14:39

Cita:

"SALDOS: No se asigno un controlador a la conexion MYSQLCONNECTION"
¿Y SALDOS tiene asignado el controlador?

JoAnCa 23-11-2015 19:22:41

Cita:

Empezado por Casimiro Notevi (Mensaje 499746)
¿Y SALDOS tiene asignado el controlador?

y donde se lo asignaria? no veo la opcion q me de idea de asignarle un controlador, solo de asignarle una conexion y los parametros, pero en los parametros tampoco tengo idea q se pone

Pero lo que me intriga es que en el Editor del Report Manager, salen bien los datos, ¿o es que eso no determina nada para q salgan en delphi?

Casimiro Notevi 23-11-2015 19:27:19

¿En el directorio de tu programa tienes también el controlador o lo tienes enlazado a windows/loquesea/controlador?

pacopenin 24-11-2015 12:58:38

Hace bastante tiempo que no lo uso, pero recupero un trozo de código donde asigno valores.

Código Delphi [-]
       if s then
          try
            VCLReport1.Report.DatabaseInfo.Items[0].IBDatabase := Dat.IBDb;

            if nd = 1 then
               VCLReport1.Report.DataInfo.Items[0].SQL := Memo1.Text;

            VCLReport1.Title := Tit;

            if VCLReport1.Report.Params.FindParam('LIMITES') <> nil then
               VCLReport1.Report.Params.ParamByName('LIMITES').Value:= Limite;
            if VCLReport1.Report.Params.FindParam('INSCRITA') <> nil then
               VCLReport1.Report.Params.ParamByName('INSCRITA').Value:= cInscrito;
            VCLReport1.Report.PreviewWindow := spwMaximized;

            if ModoAppli = 0 then
               begin
                  subreport:=VCLReport1.Report.SubReports[0].SubReport;
                  // Get the detail section
                  asection:=subreport.Sections.Items[0].Section;

                  alabel:=TRpLabel(asection.AddComponent(TRpLabel));
                  alabel.Text:='Versión de Demostración';
                  alabel.FontRotation := 450;
                  alabel.PosX:=1200;
                  alabel.PosY:=10600;
                  alabel.FontSize:=52;
                  alabel.FontColor:=clBlue;
                  // Underline+Bold
                  alabel.FontStyle:=4+1;
               end;
            VCLReport1.Execute;
          finally
            VCLReport1.Filename := '';
          end
     end

Espero que te de pistas de por donde va la cosa.

JoAnCa 26-11-2015 21:08:59

Cita:

Empezado por Casimiro Notevi (Mensaje 499748)
¿En el directorio de tu programa tienes también el controlador o lo tienes enlazado a windows/loquesea/controlador?

He estado atareado en otras actividades, pero ya retome de nuevo esta aplicacion

Pues en la misma carpeta del ejecutable tengo copiado dbexpmysql.dll y dbxconnections.ini que estan en la carpeta del Report Manager

Cuando hice esto el error cambio para "List index out of bounds (-1)"

La tabla contiene datos, que salen en el reporte por el Report Manager, e incluso en un DBGrid

Casimiro Notevi 26-11-2015 23:54:47

Cita:

Empezado por JoAnCa (Mensaje 499856)
Cuando hice esto el error cambio para "List index out of bounds (-1)"

Ese mensaje puede ser porque no has elegido un controlador de la lista, está vacía.


La franja horaria es GMT +2. Ahora son las 14:22:28.

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