FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Excepción al configurar impresora con QReport
Buenas,
Os comento el problema: Tengo un informe con QuickReport en Delphi XE5, genero el informe sin problema, le doy a configurar impresora desde el preview, pero al cambiar la impresora (o el número de páginas o cualquier otra cosa) y aceptar me da una excepción y muchas veces me obliga a cerrar la aplicación. He estado depurando el error, me lleva al archivo QRPrnSu.pas, dentro de : Código:
function TQRCommonDialog.TaskModalDialog(DialogFunc: Pointer; var DialogData): Bool; Código:
Result := TDialogFunc(DialogFunc)(DialogData); Un saludo y muchas gracias. |
#2
|
||||
|
||||
Te falta informarnos la excepción de que se trata.
Si se trata de ERR_OUT_OF_MEMORY, te falta memoria. ERR_OUT_OF_DISK_SPACE, te falta espacio en disco. ERR_... |
#3
|
||||
|
||||
__________________
"constructive mind, destructive thoughts" |
#4
|
|||
|
|||
Cita:
A ver, es un error de violación de acceso a memoria, despues de un día largo de depuración y haciendo el mismo programa de prueba en delphi XE5 (el que falla) y en delphi 7 (que funciona) solo he visto una diferencia, en el QRPrnSu.pas que comentaba todo es igual, pero cuando busco la definición del tipo de DialogData (TPrintDlg) me llevan al archivo CommDlg, y ahí, en XE5 lo encuentro como un alias de TPrintDlgW mientras que en delphi 7 es TPrintDlgA. He estado mirando y las estructuras solo cambian en 1 cosa, 2 campos (lpPrintTemplateName y lpSetupTemplateName) que para la versión W es de tipo LPCWSTR (Renombrado de PWideChar) y en la versión A el tipo es PAnsiChar. Y ahora me encuentro en este punto, no sé si esta información adicional será util, si voy por el buen camino en la busqueda de una solución o me estoy confundiendo de por donde avanzar. Una vez más muchas gracias. |
#5
|
|||
|
|||
Buenas, lo he solucionado por otro lado,
Lo pongo aquí por si a alguien le puede servir. El problema estaba en el uso de la clase TQRPrintDialog en el procedimiento TCustomQuickRep.PrinterSetup del archivo QuickReport.pas. Lo que he hecho ha sido cambiar el tipo del objeto que se utiliza por uno de tipo TPrintDialog, con eso y un par de cambios por pequeñas variaciones de la estructura del objeto se soluciona el problema. Espero que le sirva a alguien. Un saludo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Resolver excepcion Impresora | NEG1414 | C++ Builder | 4 | 15-02-2013 19:10:51 |
configurar codigo de impresora en windows xp | martita | Windows | 1 | 15-05-2008 22:58:27 |
Como configurar una impresora TM U220D | ivaylo | Impresión | 1 | 16-01-2008 15:27:16 |
Configurar impresora | mosorio | Impresión | 7 | 16-04-2004 00:57:46 |
Problemas al configurar impresora | ing_alsaac | Impresión | 0 | 08-07-2003 22:44:17 |
|