PDA

Ver la Versión Completa : Problemas con QuickReport - "Metafile is not valid"


mcs
15-01-2010, 11:06:29
Hola,

Estoy haciendo pruebas con el QuickReport 5 para Delphi 2010, y no paran de salirme errores del tipo EInvalidGraphic - Metafile is not valid.

He desinstalado el QuickReport un par de veces y lo he vuelto a funcionar, y durante unas horas ha ido sin problemas. Pero a la que genero un archivo de instalación (mediante el InstallAware) y ejecuto mi programa en otra máquina (o en la misma), el QuickReport para de funcionar en todas partes.

El problema no puede ser de falta de espacio en disco (hay unos 20Gb libres, y estamos hablando de informes que ocupan un cuarto de página).

Alguien sabe cual puede ser el problema, y cómo solucionarlo? O me podéis recomendar otro generador de informes, que permita cambiar las etiquetas y demás textos del informe en tiempo de ejecución (lo que en en QuickReport son los TQRLabel)?

Un saludo,

Marc

bubba
02-02-2010, 20:18:47
Hola,

No estoy seguro que sea tu solución, pero bueno, el caso es que a partir de Windows 2000, las variables de entorno TEMP y TMP apuntan a carpetas temporales que están en C:\Documents and Settings\[Nombre usuario]\Configuración local\....., y en QuickReport, una cosa muy curiosa (y que me volví loco hasta encontrar la solución), es que en los preview crea archivos temporales en las carpetas donde apuntan ambas variables y el nombre más todo el camino (path) de los mismos es muy largo y provoca una excepción.

Yo siempre que instalo una aplicación con QuickReport, cambio dichas variables por carpetas con un camino (path), más corto, p.e.: C:\TEMP (o C:\WINDOWS\TEMP si el usuario tiene privilegios).

Eso se hace yendo a las propiedades de Mi PC (de Equipo en Windows Vista y 7 -> Configuración avanzada del sistema), y en las pestañas que te aparecen, buscar el botón [Variables de entorno]. Cambias el valor, asegurándote que apuntas a una carpeta que existe y tiene privilegios el usuario, aceptas todo, ejecutas de nuevo la aplicación y voilá! :-)

Saludos


Hola,

Estoy haciendo pruebas con el QuickReport 5 para Delphi 2010, y no paran de salirme errores del tipo EInvalidGraphic - Metafile is not valid.

He desinstalado el QuickReport un par de veces y lo he vuelto a funcionar, y durante unas horas ha ido sin problemas. Pero a la que genero un archivo de instalación (mediante el InstallAware) y ejecuto mi programa en otra máquina (o en la misma), el QuickReport para de funcionar en todas partes.

El problema no puede ser de falta de espacio en disco (hay unos 20Gb libres, y estamos hablando de informes que ocupan un cuarto de página).

Alguien sabe cual puede ser el problema, y cómo solucionarlo? O me podéis recomendar otro generador de informes, que permita cambiar las etiquetas y demás textos del informe en tiempo de ejecución (lo que en en QuickReport son los TQRLabel)?

Un saludo,

Marc

mcs
03-02-2010, 10:04:07
Hola,

Al final he solucionado todos mis problemas de la forma más simple, recompilando en QuickReport. En la web de QuSoft encontré las instrucciones (obsoletas) de cómo compilar y reinstalar los componentes, y de momento me funciona sin más problemas.

De todas formas, sigo sin entender que pasaba...

Saludos,

Marc

mcs
25-08-2010, 10:13:40
He encontrado la solución definitiva a este problema, en los foros de Embarcadero.

Se trata de modificar las opciones de compilación, en Project->Options->Delphi Compiler->Compiling, y cambiando la opción "Record field alignment" a "quad word" (opción por defecto en D2010).

Seguramente el problema es cuando se importa un proyecto de una versión anterior de Delphi (yo lo he importado de Delphi 5), que esta opción queda modificada (en mi caso, estaba a "byte").

Espero que esto os pueda ayudar.

Saludos,

Marc

jorgecurro
17-01-2011, 12:41:46
Se trata de modificar las opciones de compilación, en Project->Options->Delphi Compiler->Compiling, y cambiando la opción "Record field alignment" a "quad word" (opción por defecto en D2010).

Seguramente el problema es cuando se importa un proyecto de una versión anterior de Delphi (yo lo he importado de Delphi 5), que esta opción queda modificada (en mi caso, estaba a "byte").
Marc

Mil gracias Marc, ¡Mano de santo! tu solución.

Después de pelearme a muerte con el código fuente para D3 de un componente que toma como base el quickreport llamado qrArtist y migrarlo a D2009, me encontré con el problema del metafile no válido, ya casi me había dado por vencido hasta probar tu solución. De nuevo gracias.

Saludos

Kipow
02-10-2012, 02:04:40
Reviviendo un poco, no logro quitar ese mensaje, aun configurando la opcion el Record Field Alignment a Quad Word, esto es en XE2 con el QR 5.0.5, alguna otra idea?