FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error al generar reporte a PDF
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Error al generar reporte a PDF
Posted: Sun Jun 23, 2024 01:13 PM
Buenas estimados

Me sale errror NO SIEMPRE generando un reporte a PDF con PRINT
Code (fw): Select all Collapse
Error description: Error BASE/1004  No existe el método: PAGESETUP
   Args:
     [   1] = A   {0,2007339344} length: 2

Stack Calls
===========
   Called from:  => PAGESETUP( 0 )
   Called from: .\source\function\PRV2PDF.PRG => WORDPDF( 439 )
   Called from: .\source\classes\PRINTER.PRG => PRINTEND( 2037 )
Gracias por la ayuda
Saludos,



Adhemar C.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Error al generar reporte a PDF
Posted: Mon Jun 24, 2024 12:47 AM

Puedes que no tengas impresoras instaladas?

Como seleccionas la impresora a usar para armar el PDF?

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Error al generar reporte a PDF
Posted: Mon Jun 24, 2024 06:38 PM

Muchas gracias estimado Cesar

El problema no pasa por ahí.

Por no siempre da el Error

Se ocaciona con reportes que pasan las 1000 páginas.

Saludos,



Adhemar C.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Error al generar reporte a PDF
Posted: Mon Jun 24, 2024 07:35 PM
Estimado Adhemar, código? porque no haz de 500 en 500 hojas?
Code (fw): Select all Collapse
   IF nPage >= 500

      MsigInfo( "Atención usuario: para evitar el desbordamiento de la " + ;
                "memoria, imprima cada 500 hojas a la vez.", "Atención" )

      ENDPAGE

      PAGE

      O:

      RETURN NIL

   ENDIF
Mira estimado:

https://forums.fivetechsupport.com/viewtopic.php?f=6&t=33290

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 318
Joined: Fri Jan 14, 2022 08:37 AM
Re: Error al generar reporte a PDF
Posted: Tue Jun 25, 2024 07:28 AM
Buenos días,

Vengo bregando con ese tipo de error desde hace eones
En mi caso se produce con excel.

Es exactamente el mismo caso: Se produce un error de methodo porque el argumento es ¡ inesperadamente un array !
He hecho investigaciones.
Mr. Rao lo medio solventa con SysRefresh()
Yo hago una mezcla de varias cosas: hb_gcall(.t.); SysRefresh() más una funcion lRetryTry(bBlock, nVeces) consistente en ejecutar un bBlock con el codigo de marras protegido contra errores y que se reintentara un determinado numero de nVeces. Esa funcion la utilizo intensamente

CONCLUSION, a falta de opinion de los creadores: En Harbour cuando se hace un uso intensivo de memoria, ésta se degrada y empieza a devolver valores erroneos



Salu2

PD 1. Comentar la indefension que me ha producido este error desde hace lustros sin apenas documentacion y que no creo que sea fruto de una mala programacion, en mi caso, excel, irresoluble con hb_gcall(.t.); SysRefresh() porque me pareciera que el problema siempre ha estado en el modulo Harbour de enlace con la interfaz OLE que debe estar generando leaks de memoria

PD 2. Observé que al menos algunas veces el problema se produce al devolver valores en una funcion.
Ejemplo 1: Esto SI funcionará
Code (fw): Select all Collapse
o:= win_oleCreateObject("Excel.Aapplication")
Ejemplo 2: Esto podria no funcionar
Code (fw): Select all Collapse
o:= funX()

FUNCTION FunX()
Local o
o:= win_oleCreateObject("Excel.Aapplication")
return o           // <------- Aquí se le da la vuelta y lo que es un objeto se convierte en un array de dos posiciones

Continue the discussion