FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemilla al generar PDF con PRINTER
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Problemilla al generar PDF con PRINTER
Posted: Sun Sep 24, 2023 01:04 PM

Hola a todos,

Estoy usando la clase TPRINTER para generar un listado y que automáticamente lo haga en un PDF.

Si cuando he generado el listado, dejo abierto el PDF en el Acrobat Reader, si vuelvo a generar el listado desde mi aplicación da un error/mensaje por que no puede reescribir el fichero PDF (recuerden que el PDF sigue abierto).

Hasta aquí todo correcto.

Si cierro el fichero PDF y desde mi aplicación (no la he cerrado aún), vuelvo a generar el PDF, éste muestra los escritos en el PDF 'distorsionados'.

Si cierro mi aplicación, vuelvo a entrar y vuelvo a generar el PDF (que ya he cerrado antes), todo vuelve a la normalidad y los escritos se ven bien definidos.

Supongo que al dar un error no debe 'limpiar' bien algo.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 318
Joined: Fri Jan 14, 2022 08:37 AM
Re: Problemilla al generar PDF con PRINTER
Posted: Sun Sep 24, 2023 07:51 PM

Hola,

Según entiendo, se trataría de comprobar, antes de generar el .pdf, que puede ser reescrito

Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Problemilla al generar PDF con PRINTER
Posted: Sun Sep 24, 2023 07:58 PM
paquitohm wrote:Hola,

Según entiendo, se trataría de comprobar, antes de generar el .pdf, que puede ser reescrito
No, en absoluto.
El problema es cuando se vuelve a intentar crear el PDF (por segunda vez) habiéndolo ya cerrado antes de ese segundo intento, y sin cerrar en ningún momento mi aplicación.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 318
Joined: Fri Jan 14, 2022 08:37 AM
Re: Problemilla al generar PDF con PRINTER
Posted: Sun Sep 24, 2023 08:37 PM

Por si suena la flauta yo pondría algun(os) estrategicamente:

hb_GCAll(.t.)

SysRefresh()

y

oPrn:= NIL, siempre que cualquier objeto deje de usarse

Continue the discussion