RTF y PDF - Consulta

RTF y PDF - Consulta

Postby rolando » Sat Mar 15, 2008 12:07 am

Para evitar que un archivo RTF sea abierto por varias terminales a la vez en modo modificar y evitar de este modo que se pierdan datos si dos terminales están accediendo y modificando a la vez, lo que se me ocurrió fue cambiarle los atributos con la funcion fAttrib().

Lo que hago es ponerlo en modo 01 (read only) si no estaba en ese modo. De esta forma, si otra terminal quiere abrirlo, antes lee los atributos y si está en modo read only, solo lo hará en modo NO MODIFY.

Todo funcionaba bién hasta que intenté hacer la impresión. Cuando llamo a PRINT de la clase TPrinter, imprime normal cualquier cadena que le mande por la impresora laser y el programa sigue funcionando normal.

Si quiero imprimir a un archivo PDF, al salir del print, no permite que le cambie los atributos al RTF cuando este es liberado al cerrar el rich que lo había "bloqueado" poniendolo en "readonly", cosa que no pasa cuando imprimo a una impresora física.

Ojo que si no se hace impresión a PDF, el sistema funciona bién. ¿que podrá estar ocurriendo?.

Gracias.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Antonio Linares » Sat Mar 15, 2008 3:29 pm

Posiblemente el archivo sigue abierto tras imprimirlo y por eso no puedes cambiarle los atributos
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41368
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby rolando » Sat Mar 15, 2008 3:49 pm

Gracias Antonio por responder,

La cuestión es que hice loa prueba de enviarle una cadena de caracteres cualquiera a imprimir, algo que no tiene que ver con el fichero que está usando el Rich, pero hace lo mismo.

Es algo que solo se produce cuando mando a imprimir con salida a PDF.

Cuando cierro el dialogo contenedor, en ese momento cambio los atributos del RTF abierto. Como hago habitualmente cuando algo no funciona, puse un MsgInfo para poder "ver" donde falla y, luego de cambiar los atributos, los leo y muestro en el MsgInfo y me indica como que los hubiese cambiado pero al ver con el explorador de windows, NO LOS CAMBIO. ¿Que raro no?.

Rolando :?
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Antonio Linares » Sat Mar 15, 2008 7:37 pm

Que usas para imprimir el PDF ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41368
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby rolando » Sat Mar 15, 2008 8:48 pm

Antonio,

Tengo en mi PC el Adobe Acrobat 4, el que instaló el Adobe PDFWriter.

Calculo que este es un controlador de "impresora virtual" que me direcciona la salida de impresión a un archivo PDF. Vino con el Adobe Acrobat 4.

Gracias.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Antonio Linares » Sun Mar 16, 2008 11:50 am

Posiblemente el archivo permanece abierto durante un cierto tiempo, por eso no puedes cambiarle los atributos.

Puedes usar un bucle que intente abrir el fichero en modo exclusivo, y así esperar hasta que el fichero haya sido cerrado.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41368
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby rolando » Sun Mar 16, 2008 9:04 pm

Antonio,

Perdón por mi ignorancia, pero ¿como puedo hacer eso?, un ejemplo por favor.

Gracias.

Rolando :?
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 54 guests