Page 1 of 1

error, creating enhanced metafile/deleting enhanced metafile

PostPosted: Tue Oct 25, 2005 4:40 pm
by pymsoft
veo que para los enhanced metafiles, crea archivos del tipo tmp0001.emf, tmp0002.emf...
El problema es que en algunos casos me da estos errores:

error (32), creating enhanced metafile: en este caso, me sucede porque estoy probando 2 estaciones de trabajo (2 sesiones del programa) en la misma estacion, a 16 bits no tenia este problema.

error (6) deleting enhanced metafile: ese error deberia ser de manejador no valido...

Como hago?
A veces me hace bien la impresion, a veces imprime solo algunas cosas (hablando del preview, claramente)

Pedro Gonzalez
Savona - Italia


FWH2.6/BCC55/xHarbour el que viene con FWH 0.99.51

PostPosted: Wed Oct 26, 2005 10:36 am
by jlcapel
Hola,

El problema está en la clase tprinter, en el método _startpage.

Parece ser que la generación de nombres de ficheros temporales emf es consecutiva, empezando por 1 cada vez que se lanza un listado al previsualizador. El nombre de fichero tiene esta forma: tmpXXXX.emf o tmpXXXX.wmf (para los antiguos 16 bits).

Una solución para evitar este problema podría ser la siguiente:


Code: Select all  Expand view
AAdd( ::aMeta, ::cDir + "\tmp"+ALLTRIM(cTempFile()) + PadL( ::nPage, 4, "0" ) + ".emf" )


Aunque, siendo también un poco críticos, la función cTempFile() tampoco nos asegura un nombre único de fichero.

Espero que esto te ayude.
Saludos,
José Luis Capel
www.capelblog.com

PostPosted: Wed Oct 26, 2005 11:52 am
by pymsoft
José Luis: esto me resuelve el tema poder imprimir en dos o mas estaciones de trabajo en el mismo pc, pero me sigue dando el error algunas veces que no puede eliminar el archivo, cosa que cuando voy a verificar el archivo no está, por lo que eliminarlo, lo elimina, pero me da este error. :-(


Gracias

Pedro Gonzalez

PostPosted: Wed Oct 26, 2005 12:26 pm
by pymsoft
Ya descubrí donde estaba el problema :oops: y era en mi codigo, para variar... solo que antes no se quejaba... llamaba dos veces el endpage, y claro, no lo podía borrar a la segunda vez...


Pedro Gonzalez