In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Xailer y Windows 7

Foro público de Xailer en español
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Primer problema encontrado en mi aplicación Xailer corriendo en Windows7...
Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
saca una cópia.
Probado en un Cliente que también le ocurre lo mismo...
Pruebo a imprimir un documento con Word...
modifico el número de copias a 2... y imprime 2 copias.
Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
¿Alguien puede comprobar si le ocurre lo mismo???
Gracias.
Un Saludo,
Xevi.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Toc, Toc... ¿alguien por estos lares que le ocurra lo mismo???
¿a todos les funciona en Windows 7 o no han probado todavia Win7???
Debo aclarar que esto ocurre cuando la impresora está conectada en red. Por
mas que mandemos a imprimir más de 1 copia SOLO saca 1... y eso a alguno de
mis clientes que ya están utilizando máquinas con W7 les empieza a molestar.
Lo he probado haciendo servidor WinXP y/o también en Win7... y ejecutar mi
aplicación Xailer en Win7.
El resultado SIEMPRE el mismo sólo una copia de la impresión del documento.
Si se imprime con la impresora local el resultado es el correcto y imprime
tantas copias como se solicitan.
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4afd49de$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Primer problema encontrado en mi aplicación Xailer corriendo en
> Windows7...
>
> Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
> impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
> saca una cópia.
> Probado en un Cliente que también le ocurre lo mismo...
> Pruebo a imprimir un documento con Word...
> modifico el número de copias a 2... y imprime 2 copias.
>
>
> Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
>
> ¿Alguien puede comprobar si le ocurre lo mismo???
>
> Gracias.
>
> Un Saludo,
> Xevi.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Nada... que por lo visto seré el único que ando por estos sitios. :-(
Ya llegará mas adelante en el tiempo cuando alguien más se quejará y serán
escuchadas mis súplicas!!!
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4b058fcd$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Toc, Toc... ¿alguien por estos lares que le ocurra lo mismo???
> ¿a todos les funciona en Windows 7 o no han probado todavia Win7???
>
> Debo aclarar que esto ocurre cuando la impresora está conectada en red.
> Por mas que mandemos a imprimir más de 1 copia SOLO saca 1... y eso a
> alguno de mis clientes que ya están utilizando máquinas con W7 les empieza
> a molestar.
>
> Lo he probado haciendo servidor WinXP y/o también en Win7... y ejecutar mi
> aplicación Xailer en Win7.
> El resultado SIEMPRE el mismo sólo una copia de la impresión del
> documento.
>
> Si se imprime con la impresora local el resultado es el correcto y imprime
> tantas copias como se solicitan.
>
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:4afd49de$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Primer problema encontrado en mi aplicación Xailer corriendo en
>> Windows7...
>>
>> Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
>> impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
>> saca una cópia.
>> Probado en un Cliente que también le ocurre lo mismo...
>> Pruebo a imprimir un documento con Word...
>> modifico el número de copias a 2... y imprime 2 copias.
>>
>>
>> Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
>>
>> ¿Alguien puede comprobar si le ocurre lo mismo???
>>
>> Gracias.
>>
>> Un Saludo,
>> Xevi.
>
>
juanc
Mensajes: 105
Registrado: Vie Dic 14, 2007 12:15 am

Xailer y Windows 7

Mensaje por juanc »

Hola Xevi, yo recien estoy instalando una evaluación de Windows 7, estoy
batallando para conectarla a un servidor con Windows 2000 Server, dejame
buscarle solucion, pruebo la situacion que tienes y ya te comento como me
fue.

Saludos Cordiales.

Juan Castillo Arteaga.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4b069100$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Nada... que por lo visto seré el único que ando por estos sitios. :-(
>
> Ya llegará mas adelante en el tiempo cuando alguien más se quejará y serán
> escuchadas mis súplicas!!!
>
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:4b058fcd$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Toc, Toc... ¿alguien por estos lares que le ocurra lo mismo???
>> ¿a todos les funciona en Windows 7 o no han probado todavia Win7???
>>
>> Debo aclarar que esto ocurre cuando la impresora está conectada en red.
>> Por mas que mandemos a imprimir más de 1 copia SOLO saca 1... y eso a
>> alguno de mis clientes que ya están utilizando máquinas con W7 les
>> empieza a molestar.
>>
>> Lo he probado haciendo servidor WinXP y/o también en Win7... y ejecutar
>> mi aplicación Xailer en Win7.
>> El resultado SIEMPRE el mismo sólo una copia de la impresión del
>> documento.
>>
>> Si se imprime con la impresora local el resultado es el correcto y
>> imprime tantas copias como se solicitan.
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:4afd49de$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> Primer problema encontrado en mi aplicación Xailer corriendo en
>>> Windows7...
>>>
>>> Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
>>> impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
>>> saca una cópia.
>>> Probado en un Cliente que también le ocurre lo mismo...
>>> Pruebo a imprimir un documento con Word...
>>> modifico el número de copias a 2... y imprime 2 copias.
>>>
>>>
>>> Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
>>>
>>> ¿Alguien puede comprobar si le ocurre lo mismo???
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>
>>
>
>
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Xailer y Windows 7

Mensaje por jlalin »

Xevi,
he estado buscando y he encontrado algunos mensajes de gente con un
problema similar.
En unos se hablaba de problemas con los drivers (HP sobre todo) y en otros
decí­an (hablo de memoria) que cambiando en
Impresora->Propiedades->Avanzadas->Procesador de impresión la configuración
de WinPrint a RAW se solucionaba.
No tengo ninguna instalación con Windows 7 y siento no poder ayudarte más.
Saludos,
José Lalí­n
xAvi
Mensajes: 108
Registrado: Mar Abr 08, 2008 6:12 pm

Xailer y Windows 7

Mensaje por xAvi »

Xevi, José,
No se si ayuda o meo fuera de tiesto pero ... .-
http://msdn.microsoft.com/en-us/library ... 28VS.85%29. aspx
"
To ensure that PrintDlg or PrintDlgEx returns the correct values in the dmCopies and dmCollate members of the DEVMODE structure,
set PD_RETURNDC = TRUE and PD_USEDEVMODECOPIESANDCOLLATE = TRUE. In so doing, the nCopies member of the PRINTDLG structure is
always 1 and PD_COLLATE is always FALSE.
"
lCollate por defecto es .F.
¿Que tal está el tema de Xailer con Harbour y MinGW?
--
Xavi
Xevi escribió:
> Primer problema encontrado en mi aplicación Xailer corriendo en Windows7...
>
> Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
> impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
> saca una cópia.
> Probado en un Cliente que también le ocurre lo mismo...
> Pruebo a imprimir un documento con Word...
> modifico el número de copias a 2... y imprime 2 copias.
>
>
> Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
>
> ¿Alguien puede comprobar si le ocurre lo mismo???
>
> Gracias.
>
> Un Saludo,
> Xevi.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
>En unos se hablaba de problemas con los drivers (HP sobre todo)
Mi impresora es una Brother DCP115C...
y a mi cliente le sucede con una OKI C3300, otra CANON MF5600, otra HP
LaserJet 1320
>Impresora->Propiedades->Avanzadas->Procesador de impresión la configuración
>de WinPrint a RAW se solucionaba.
Por defecto ya está configurado como RAW
He probado a cambiar a las otras configuraciones...
RAW [FF appended]
RAW [FF auto]
con el mismo resultado... 1 sola copia
NT EMF 1.003
NT EMF 1.006
NT EMF 1.007
NT EMF 1.008
no imprime nada
TEXT
imprime símbolos idescifrables.
Es un error de Xailer o xHarbour... seguro!!!...
TODO lo que se imprime desde una aplicación Xailer (incluido el IDE, he
probado a imprimir 2 copias de un prg el Form1 del sample de menus de
xailer... y solo me ha imprimido 1) hace caso omiso del numero de copias que
solicitamos y solo imprime 1.
No afecta al número de página a imprimir, pues si es una imoresión de más de
una página y solicito la página 2 la imprime correctamente... Toca las
narices solo con las copias solicitadas!!!
El resto de aplicaciones de Windows... Bloc de notas, Word, Excel...
imprimen correctamente las copias solicitadas.
Un Saludo,
Xevi.
"José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
news:[email=4b06c12b@svctag-j7w3v3j....]4b06c12b@svctag-j7w3v3j....[/email]
Xevi,
he estado buscando y he encontrado algunos mensajes de gente con un
problema similar.
En unos se hablaba de problemas con los drivers (HP sobre todo) y en otros
decían (hablo de memoria) que cambiando en
Impresora->Propiedades->Avanzadas->Procesador de impresión la configuración
de WinPrint a RAW se solucionaba.
No tengo ninguna instalación con Windows 7 y siento no poder ayudarte más.
Saludos,
José Lalín
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

xAvi,
De este enlace que has proporcionado, veo...
Warning
On Windows Vista and Windows 7, when you call PrintDlg or PrintDlgEx with
PD_RETURNDC set to TRUE and PD_USEDEVMODECOPIESANDCOLLATE set to FALSE, the
PrintDlg or PrintDlgEx function sets the number of copies in the nCopies
member of the PRINTDLG structure, and it sets the number of copies in the
structure represented by the hDC member of the PRINTDLG structure.
When making calls to GDI, you must ignore the value of nCopies, consider the
value as 1, and use the returned hDC to avoid printing duplicate copies.
Por lo visto es un cambio de Windows Vista y 7 a tener en cuenta... el
numero de copias se ve afectado al utilizar el cuadro de diálogo de
impresoras... Pero... ¿que podemos cambiar en nuestra versión de Xailer
1.9.9 para que funcione???? :-(
Por cierto... debo añadir que Ver() en Windows 7 devuelve...
Windows Windows Vista Professional 6.01.7600... cuando está corriendo en un
Windows 7 ;-)
Un Saludo,
Xevi.
"xAvi" <jarabal_eliminar_no_spam_@gmail.com> escribió en el mensaje
news:4b06cfa5$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi, José,
>
> No se si ayuda o meo fuera de tiesto pero ... .-
>
> http://msdn.microsoft.com/en-us/library ... 28VS.85%29. aspx
>
> "
> To ensure that PrintDlg or PrintDlgEx returns the correct values in the
> dmCopies and dmCollate members of the DEVMODE structure,
> set PD_RETURNDC = TRUE and PD_USEDEVMODECOPIESANDCOLLATE = TRUE. In so
> doing, the nCopies member of the PRINTDLG structure is
> always 1 and PD_COLLATE is always FALSE.
> "
>
> lCollate por defecto es .F.
>
> ¿Que tal está el tema de Xailer con Harbour y MinGW?
>
> --
> Xavi
>
> Xevi escribió:
>> Primer problema encontrado en mi aplicación Xailer corriendo en
>> Windows7...
>>
>> Cuando voy a imprimir, me sale el diálogo de impresoras, escojo la
>> impresora, y modifico el número de copias a 2... y SORPRESA!!! sólo me
>> saca una cópia.
>> Probado en un Cliente que también le ocurre lo mismo...
>> Pruebo a imprimir un documento con Word...
>> modifico el número de copias a 2... y imprime 2 copias.
>>
>>
>> Mi aplicación desarrollada en Xailer 1.9.9 no impre más de una copia!!!
>>
>> ¿Alguien puede comprobar si le ocurre lo mismo???
>>
>> Gracias.
>>
>> Un Saludo,
>> Xevi.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Xailer y Windows 7

Mensaje por jlalin »

Xevi,
según la sugerencia de xAvi, quizás podrí­as probar con la propiedad
lReturnDC a .T. antes de mostrar el diálogo por si cambia algo.
Saludos,
José Lalí­n
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
Por probar... que no quede.
Te comento mis penurias...
Abro el Sample de Xailer "Printerinfo"
Archivo - Imprimir... copias 2... y solo imprime 1
PERO, me da por ejecutar el sample Printerinfo...
Le doy a "Print Test"
Depliego el botón "Imprimir" y selecciono la impresora.
Le cambio Copias a 2...
Y FUNCIONA!!! me saca 2 copias...
Ahí ya estoy mas perdido.
Mientras que mi aplicación responde como el IDE de Xailer... que sólo saca 1
copia
:-( :-( :-(
Mas pruebas...
Visto lo visto, veo que funciona correctamente cuando hacemos un Preview
pero no cuando lanzamos directamente el diálogo de impresoras, eso en
Xailer, así que pues a probar en mi aplicación si también sucede igual.
Pues SI, mi aplicación tiene el mismo ERROR que el IDE de Xailer.
CONCLUSION final.
Xailer falla en Windows7 al imprimir más de una copia en una impresora de
red lanzando automáticamente el diálogo de impresoras. Sin embargo si
lanzamos un Preview anterior si que su funcionamiento es el correcto.
¿Que hace el Preview que no haga el IDE o cualquier aplicación desarrollada
en Xailer???
Gracias por tu tiempo.
Tiene que haber una solución al respecto, pues como bien comento... El
preview de Xailer SI funciona correctamente.
Un Saludo,
Xevi.
"José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
news:4b07bbf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
según la sugerencia de xAvi, quizás podrías probar con la propiedad
lReturnDC a .T. antes de mostrar el diálogo por si cambia algo.
Saludos,
José Lalín
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
El Sample de Xailer PrinterInfo funciona porque está utiliando el Preview...
Miro la Clase TPreview... y efectivamente, el método Print está
estableciendo lReturnDC a .T. de ahí a que las impresiones que se lanzan
desde el preview SI funcionan correctamente en el número de copias
solocitadas.
Bien, pues ahí ahora mi dilema.
Yo no estoy utilizando el cuadro diálogo en si, pues si de eso se tratara,
con hacer...
CLASS TPrintDlg FROM XPrintDlg
PROPERTY lReturnDC INIT .T.
ENDCLASS
creo wue deberia de funcionar para todo el proyecto ¿no?
El caso es que si no lanzamos el diálogo, sinó que el diálogo sale
automáticamente al establecer
TPrinter:Preview := .F.
TPrinter:Run()
¿cómo establezco esta propiedad lReturnDC ???
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4b07d714$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> José,
>
> Por probar... que no quede.
> Te comento mis penurias...
> Abro el Sample de Xailer "Printerinfo"
> Archivo - Imprimir... copias 2... y solo imprime 1
>
> PERO, me da por ejecutar el sample Printerinfo...
> Le doy a "Print Test"
> Depliego el botón "Imprimir" y selecciono la impresora.
> Le cambio Copias a 2...
> Y FUNCIONA!!! me saca 2 copias...
>
> Ahí ya estoy mas perdido.
>
> Mientras que mi aplicación responde como el IDE de Xailer... que sólo saca
> 1
> copia
>
> :-( :-( :-(
>
> Mas pruebas...
> Visto lo visto, veo que funciona correctamente cuando hacemos un Preview
> pero no cuando lanzamos directamente el diálogo de impresoras, eso en
> Xailer, así que pues a probar en mi aplicación si también sucede igual.
> Pues SI, mi aplicación tiene el mismo ERROR que el IDE de Xailer.
>
> CONCLUSION final.
> Xailer falla en Windows7 al imprimir más de una copia en una impresora de
> red lanzando automáticamente el diálogo de impresoras. Sin embargo si
> lanzamos un Preview anterior si que su funcionamiento es el correcto.
>
> ¿Que hace el Preview que no haga el IDE o cualquier aplicación
> desarrollada en Xailer???
>
> Gracias por tu tiempo.
> Tiene que haber una solución al respecto, pues como bien comento... El
> preview de Xailer SI funciona correctamente.
>
> Un Saludo,
> Xevi.
>
>
> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
> news:4b07bbf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Xevi,
>
> según la sugerencia de xAvi, quizás podrías probar con la propiedad
> lReturnDC a .T. antes de mostrar el diálogo por si cambia algo.
>
> Saludos,
> José Lalín
>
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
Modifiqué la clase TPrinter...
añadiendo en el evento Run()
::oPrnDlg:lReturnDC := .T.
Pero sigue con el mismo problema.
Luego puse un...
MsgInfo( ::oPrnDlg:nCopies )
seguidamente del ::oPrnDlg:Run()
Y ME DEVUELVE 1... por mas que modifique el valor del cuadrodiálogo de
impresoras núm de copias... SIEMPRE DEVUELVE 1
*********************************
METHOD Run( oForm ) CLASS XPrinter
LOCAL lOld, lRet
IF ::oPrnDlg == Nil
::oPrnDlg := TPrintDlg():Create( oForm )
ENDIF
lOld := ::oPrnDlg:lPrintSetup
lRet := .F.
MSGINFO( "XeviRun" ) //Me aseguro que pase por aquí
::oPrnDlg:lPrintSetup := .F.
IF ::oPrnDlg:Run()
MSGINFO( ::oPrnDlg:nCopies )
::FnCopies := ::oPrnDlg:nCopies
::FlCollate := ::oPrnDlg:lCollate
::PrinterIndex()
IF ! Empty( ::oPrnDlg:hDC )
::StartDoc( , oForm, ::oPrnDlg:hDC )
ENDIF
lRet := .T.
ENDIF
::oPrnDlg:lPrintSetup := lOld
RETURN lRet
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:[email=4b083719@svctag-j7w3v3j....]4b083719@svctag-j7w3v3j....[/email]
> José,
>
> El Sample de Xailer PrinterInfo funciona porque está utiliando el
> Preview...
> Miro la Clase TPreview... y efectivamente, el método Print está
> estableciendo lReturnDC a .T. de ahí a que las impresiones que se lanzan
> desde el preview SI funcionan correctamente en el número de copias
> solocitadas.
>
> Bien, pues ahí ahora mi dilema.
> Yo no estoy utilizando el cuadro diálogo en si, pues si de eso se tratara,
> con hacer...
> CLASS TPrintDlg FROM XPrintDlg
> PROPERTY lReturnDC INIT .T.
> ENDCLASS
> creo wue deberia de funcionar para todo el proyecto ¿no?
>
> El caso es que si no lanzamos el diálogo, sinó que el diálogo sale
> automáticamente al establecer
> TPrinter:Preview := .F.
> TPrinter:Run()
> ¿cómo establezco esta propiedad lReturnDC ???
>
> Gracias.
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:4b07d714$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> José,
>>
>> Por probar... que no quede.
>> Te comento mis penurias...
>> Abro el Sample de Xailer "Printerinfo"
>> Archivo - Imprimir... copias 2... y solo imprime 1
>>
>> PERO, me da por ejecutar el sample Printerinfo...
>> Le doy a "Print Test"
>> Depliego el botón "Imprimir" y selecciono la impresora.
>> Le cambio Copias a 2...
>> Y FUNCIONA!!! me saca 2 copias...
>>
>> Ahí ya estoy mas perdido.
>>
>> Mientras que mi aplicación responde como el IDE de Xailer... que sólo
>> saca 1
>> copia
>>
>> :-( :-( :-(
>>
>> Mas pruebas...
>> Visto lo visto, veo que funciona correctamente cuando hacemos un Preview
>> pero no cuando lanzamos directamente el diálogo de impresoras, eso en
>> Xailer, así que pues a probar en mi aplicación si también sucede igual.
>> Pues SI, mi aplicación tiene el mismo ERROR que el IDE de Xailer.
>>
>> CONCLUSION final.
>> Xailer falla en Windows7 al imprimir más de una copia en una impresora de
>> red lanzando automáticamente el diálogo de impresoras. Sin embargo si
>> lanzamos un Preview anterior si que su funcionamiento es el correcto.
>>
>> ¿Que hace el Preview que no haga el IDE o cualquier aplicación
>> desarrollada en Xailer???
>>
>> Gracias por tu tiempo.
>> Tiene que haber una solución al respecto, pues como bien comento... El
>> preview de Xailer SI funciona correctamente.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>> news:4b07bbf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>
>> Xevi,
>>
>> según la sugerencia de xAvi, quizás podrías probar con la propiedad
>> lReturnDC a .T. antes de mostrar el diálogo por si cambia algo.
>>
>> Saludos,
>> José Lalín
>>
>>
>>
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
Mas inconvenientes,... pues hasta probar a imprimir sin utilizar el Preview
no me he dado cuenta de que las copias añadidas a
más de 1 SIEMPRE fallan, sea la impresora en red o no.
Resulta que cuando estuve probando a imprimir en una impresora local lo
estaba haciendo utilizando el preview, y por eso si me funcionaba, pero al
detectar que el error está al imprimir directamente SIN UTILIZAR EL PREVIEW,
fallaba, lo prové también con las impresora local y confirmo que...
SIEMPRE fallan las copias añadidas en Windows 7, sea la impresora que sea,
local o en red y siempre que se lanze la impresión directamente, sin
utilizar el Preview.
Espero que puedas darme un poco de luz en el asunto y podamos resolver este
"inconveniente" que afecta a Windows7
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4b084217$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> José,
>
> Modifiqué la clase TPrinter...
> añadiendo en el evento Run()
> ::oPrnDlg:lReturnDC := .T.
>
> Pero sigue con el mismo problema.
>
> Luego puse un...
> MsgInfo( ::oPrnDlg:nCopies )
> seguidamente del ::oPrnDlg:Run()
> Y ME DEVUELVE 1... por mas que modifique el valor del cuadrodiálogo de
> impresoras núm de copias... SIEMPRE DEVUELVE 1
>
> *********************************
> METHOD Run( oForm ) CLASS XPrinter
>
> LOCAL lOld, lRet
>
> IF ::oPrnDlg == Nil
> ::oPrnDlg := TPrintDlg():Create( oForm )
> ENDIF
>
> lOld := ::oPrnDlg:lPrintSetup
> lRet := .F.
> MSGINFO( "XeviRun" ) //Me aseguro que pase por aquí
>
> ::oPrnDlg:lPrintSetup := .F.
>
> IF ::oPrnDlg:Run()
> MSGINFO( ::oPrnDlg:nCopies )
> ::FnCopies := ::oPrnDlg:nCopies
> ::FlCollate := ::oPrnDlg:lCollate
> ::PrinterIndex()
> IF ! Empty( ::oPrnDlg:hDC )
> ::StartDoc( , oForm, ::oPrnDlg:hDC )
> ENDIF
> lRet := .T.
> ENDIF
>
> ::oPrnDlg:lPrintSetup := lOld
>
> RETURN lRet
>
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:[email=4b083719@svctag-j7w3v3j....]4b083719@svctag-j7w3v3j....[/email]
>> José,
>>
>> El Sample de Xailer PrinterInfo funciona porque está utiliando el
>> Preview...
>> Miro la Clase TPreview... y efectivamente, el método Print está
>> estableciendo lReturnDC a .T. de ahí a que las impresiones que se lanzan
>> desde el preview SI funcionan correctamente en el número de copias
>> solocitadas.
>>
>> Bien, pues ahí ahora mi dilema.
>> Yo no estoy utilizando el cuadro diálogo en si, pues si de eso se
>> tratara, con hacer...
>> CLASS TPrintDlg FROM XPrintDlg
>> PROPERTY lReturnDC INIT .T.
>> ENDCLASS
>> creo wue deberia de funcionar para todo el proyecto ¿no?
>>
>> El caso es que si no lanzamos el diálogo, sinó que el diálogo sale
>> automáticamente al establecer
>> TPrinter:Preview := .F.
>> TPrinter:Run()
>> ¿cómo establezco esta propiedad lReturnDC ???
>>
>> Gracias.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:4b07d714$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> José,
>>>
>>> Por probar... que no quede.
>>> Te comento mis penurias...
>>> Abro el Sample de Xailer "Printerinfo"
>>> Archivo - Imprimir... copias 2... y solo imprime 1
>>>
>>> PERO, me da por ejecutar el sample Printerinfo...
>>> Le doy a "Print Test"
>>> Depliego el botón "Imprimir" y selecciono la impresora.
>>> Le cambio Copias a 2...
>>> Y FUNCIONA!!! me saca 2 copias...
>>>
>>> Ahí ya estoy mas perdido.
>>>
>>> Mientras que mi aplicación responde como el IDE de Xailer... que sólo
>>> saca 1
>>> copia
>>>
>>> :-( :-( :-(
>>>
>>> Mas pruebas...
>>> Visto lo visto, veo que funciona correctamente cuando hacemos un Preview
>>> pero no cuando lanzamos directamente el diálogo de impresoras, eso en
>>> Xailer, así que pues a probar en mi aplicación si también sucede igual.
>>> Pues SI, mi aplicación tiene el mismo ERROR que el IDE de Xailer.
>>>
>>> CONCLUSION final.
>>> Xailer falla en Windows7 al imprimir más de una copia en una impresora
>>> de red lanzando automáticamente el diálogo de impresoras. Sin embargo si
>>> lanzamos un Preview anterior si que su funcionamiento es el correcto.
>>>
>>> ¿Que hace el Preview que no haga el IDE o cualquier aplicación
>>> desarrollada en Xailer???
>>>
>>> Gracias por tu tiempo.
>>> Tiene que haber una solución al respecto, pues como bien comento... El
>>> preview de Xailer SI funciona correctamente.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>> news:4b07bbf9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>
>>> Xevi,
>>>
>>> según la sugerencia de xAvi, quizás podrías probar con la propiedad
>>> lReturnDC a .T. antes de mostrar el diálogo por si cambia algo.
>>>
>>> Saludos,
>>> José Lalín
>>>
>>>
>>>
>>
>>
>
>
rafa
Mensajes: 119
Registrado: Vie Ene 16, 2009 9:59 am

Xailer y Windows 7

Mensaje por rafa »

> Es un error de Xailer o xHarbour... seguro!!!...
Siento decirlo, pero si funciona en W95,98, Me, Xp , 2000, 2003, NT,
Vista, y ahora en W7 no funciona, para mí­ todos los números esta que
'algo' ha cambiado, y no precisamente Xailer o Harbour.
Es lo que pasa cuando uno se convierte en BetaTester de un sistema
nuevo, a veces hay cosas que no funcionan... hasta descubrir el porque
no funcionan.
Nosotros nos quedamos en XP, sigue siendo el que menos problemas da.
Saludo
Rafa Carmona
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Xailer y Windows 7

Mensaje por jlalin »

Xevi,
¿puedes poner el fuente donde lanzas la impresión?
Saludos,
José Lalí­n
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

José,
He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
comporta Xailer al imprimir utilizando o no el Preview.
El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
Debo añadir al error que TODO lo que se modifique en el cuadro de diálogo de
impresoras no tiene ningún efecto al pulsar finalmente el botón "Imprimir".
Si cambiamos de impresora...
Si solicitamos distintas cópias...
Si fallan estos dos parámetros, igual van a fallar el intercalado y las
hosjas a imprimir.
TODOS los parámetros los lanza con los datos que ha abierto el cuadro
diálogo.
Esto me hace pensar... :-(
Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
comportamiento "distinto" hasta esta nueva versión de Windows,... por lo que
intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
Gracias.
Un Saludo,
Xevi.
"José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
¿puedes poner el fuente donde lanzas la impresión?
Saludos,
José Lalín


Attached files Prueba.zip (1.9 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9259
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Xailer y Windows 7

Mensaje por ignacio »

Xevi,
Prueba con el fichero adjunto.
Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> José,
>
> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
> comporta Xailer al imprimir utilizando o no el Preview.
> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>
> Debo añadir al error que TODO lo que se modifique en el cuadro de diálogo
> de
> impresoras no tiene ningún efecto al pulsar finalmente el botón
> "Imprimir".
> Si cambiamos de impresora...
> Si solicitamos distintas cópias...
> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
> hosjas a imprimir.
>
> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
> diálogo.
>
>
> Esto me hace pensar... :-(
> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
> comportamiento "distinto" hasta esta nueva versión de Windows,... por lo
> que
> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>
> Gracias.
>
>
> Un Saludo,
> Xevi.
>
>
> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Xevi,
>
> ¿puedes poner el fuente donde lanzas la impresión?
>
> Saludos,
> José Lalín
>
>
>


Attached files IPrint.rar (6.7 KB)Â
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio,
El número de copias a imprimir... Arreglado!!!
Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo, como...
otra impresora que no sea la proporcionada,
páginas a imprimir,
las otras opciones no las he probado
.... sigue fallando.
Por lo visto ya teneis por donde está el cambio en esta versión de Windows.
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi,
>
> Prueba con el fichero adjunto.
>
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> José,
>>
>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>> comporta Xailer al imprimir utilizando o no el Preview.
>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>
>> Debo añadir al error que TODO lo que se modifique en el cuadro de diálogo
>> de
>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>> "Imprimir".
>> Si cambiamos de impresora...
>> Si solicitamos distintas cópias...
>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>> hosjas a imprimir.
>>
>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>> diálogo.
>>
>>
>> Esto me hace pensar... :-(
>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>> comportamiento "distinto" hasta esta nueva versión de Windows,... por lo
>> que
>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>
>> Gracias.
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>
>> Xevi,
>>
>> ¿puedes poner el fuente donde lanzas la impresión?
>>
>> Saludos,
>> José Lalín
>>
>>
>>
>
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9259
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Xailer y Windows 7

Mensaje por ignacio »

Xevi,
Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
reproducirlo desde el ejemplo PrinterInfo)
Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje
news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
> Ignacio,
>
> El número de copias a imprimir... Arreglado!!!
> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo, como...
> otra impresora que no sea la proporcionada,
> páginas a imprimir,
> las otras opciones no las he probado
> ... sigue fallando.
>
> Por lo visto ya teneis por donde está el cambio en esta versión de
> Windows.
>
> Gracias.
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> Prueba con el fichero adjunto.
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> José,
>>>
>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>> comporta Xailer al imprimir utilizando o no el Preview.
>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>
>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>> diálogo de
>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>> "Imprimir".
>>> Si cambiamos de impresora...
>>> Si solicitamos distintas cópias...
>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>> hosjas a imprimir.
>>>
>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>> diálogo.
>>>
>>>
>>> Esto me hace pensar... :-(
>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por lo
>>> que
>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>
>>> Gracias.
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>
>>> Xevi,
>>>
>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>
>>> Saludos,
>>> José Lalín
>>>
>>>
>>>
>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio,
Es el mismo diálogo de Impresoras, si se quiere cambiar cualquier otro
parámetro como la impresora de salida o las páginas a imprimir... no tiene
ningún efecto.
El mismo ejemplo sencillo que he puesto para comprovar si se cambian de
copias sirve para el mismo menester, pues en lugar de cambiar las copias, si
intentas cambiar de impresora o solicitar SOLO la página 2... verás que no
funciona como es debido.
Te adjunto el mismo sample con tres páginas para que puedas probarlo.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
mensaje news:4b0ad5db$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi,
>
> Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
> reproducirlo desde el ejemplo PrinterInfo)
>
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
>> Ignacio,
>>
>> El número de copias a imprimir... Arreglado!!!
>> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo,
>> como...
>> otra impresora que no sea la proporcionada,
>> páginas a imprimir,
>> las otras opciones no las he probado
>> ... sigue fallando.
>>
>> Por lo visto ya teneis por donde está el cambio en esta versión de
>> Windows.
>>
>> Gracias.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
>> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> Xevi,
>>>
>>> Prueba con el fichero adjunto.
>>>
>>> Un saludo,
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> Xailer support / Soporte de Xailer
>>> http://www.xailer.com
>>> http://www.xailer.info
>>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> José,
>>>>
>>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>>> comporta Xailer al imprimir utilizando o no el Preview.
>>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>>
>>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>>> diálogo de
>>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>>> "Imprimir".
>>>> Si cambiamos de impresora...
>>>> Si solicitamos distintas cópias...
>>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>>> hosjas a imprimir.
>>>>
>>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>>> diálogo.
>>>>
>>>>
>>>> Esto me hace pensar... :-(
>>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por
>>>> lo
>>>> que
>>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>>
>>>> Gracias.
>>>>
>>>>
>>>> Un Saludo,
>>>> Xevi.
>>>>
>>>>
>>>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>
>>>> Xevi,
>>>>
>>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>>
>>>> Saludos,
>>>> José Lalín
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>


Attached files Prueba.zip (2 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9259
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Xailer y Windows 7

Mensaje por ignacio »

Xevi,
Eres tu el que tiene controlar los valores que devuelve TPrintDlg e imprimir sólo las páginas necesarias.
Ejemplo de PreviewControl:
METHOD Print( nPage ) CLASS XPreviewControl
LOCAL aRange
LOCAL nFirst, nLast, nFor
LOCAL hDC
LOCAL lDestroyDC := .F.
LOCAL x, y, nWidth, nHeight
DO CASE
CASE nPage == Nil // Todo
nFirst := 1
nLast := Len( ::oPreviewDC:aEmf )
CASE nPage > 0
nFirst := nPage
nLast := nPage
CASE nPage == 0
aRange := ::GetRange()
IF ! Empty( aRange )
nFirst := aRange[ 1 ]
nLast := aRange[ 2 ]
ELSE
RETURN Nil
ENDIF
OTHERWISE
WITH OBJECT TPrintDlg():Create()
:lPrintSetup := .F.
:lSelection := .F.
:lReturnDC := .T.
:nToPage := Len( ::oPreviewDC:aEmf )
IF :Run()
hDC := :hDC
lDestroyDC := .T.
nFirst := :nFromPage
nLast := :nToPage
ELSE
RETURN Nil
ENDIF
END WITH
END CASE
IF nFirst < 1 .OR. nLast > Len( ::oPreviewDC:aEmf ) .OR. nFirst > nLast
MessageBeep()
RETURN NIL
ENDIF
IF Empty( hDC )
IF ::oPreviewDC:nPrinterIndex != Printer:nPrinterIndex
hDC := PrinterCreateDC()
lDestroyDC := .T.
ELSE
hDC := ::oPreviewDC:hPrinterDC
ENDIF
ENDIF
Application:lBusy := .T.
PrinterStartDoc( hDC, ::oParent:cText )
FOR nFor := nFirst TO nLast
PrinterStartPage( hDC )
nWidth := GetDeviceCaps( hdc, PHYSICALWIDTH )
nHeight := GetDeviceCaps( hdc, PHYSICALHEIGHT )
IF nWidth / nHeight <= ::oPreviewDC:aEmf[ nFor ]:nWidth / ::oPreviewDC:aEmf[ nFor ]:nHeight
nHeight := ::oPreviewDC:aEmf[ nFor ]:nHeight * nWidth / ::oPreviewDC:aEmf[ nFor ]:nWidth
x := 0
y := ( GetDeviceCaps( hdc, PHYSICALHEIGHT ) - nHeight ) / 2
ELSE
nWidth := ::oPreviewDC:aEmf[ nFor ]:nWidth * nHeight / ::oPreviewDC:aEmf[ nFor ]:nHeight
x := ( GetDeviceCaps( hdc, PHYSICALWIDTH ) - nWidth ) / 2
y := 0
ENDIF
::oPreviewDC:aEmf[ nFor ]:Paint( hdc, x, y, x + nWidth, y + nHeight )
PrinterEndPage( hDC )
NEXT
PrinterEndDoc( hDC, .F. )
IF lDestroyDC
PrinterDeleteDC( hDC )
ENDIF
Application:lBusy := .F.
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:4b0ae062$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>
>
> Es el mismo diálogo de Impresoras, si se quiere cambiar cualquier otro
> parámetro como la impresora de salida o las páginas a imprimir... no tiene
> ningún efecto.
>
> El mismo ejemplo sencillo que he puesto para comprovar si se cambian de
> copias sirve para el mismo menester, pues en lugar de cambiar las copias, si
> intentas cambiar de impresora o solicitar SOLO la página 2... verás que no
> funciona como es debido.
> Te adjunto el mismo sample con tres páginas para que puedas probarlo.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
> mensaje news:4b0ad5db$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
>> reproducirlo desde el ejemplo PrinterInfo)
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
>>> Ignacio,
>>>
>>> El número de copias a imprimir... Arreglado!!!
>>> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo,
>>> como...
>>> otra impresora que no sea la proporcionada,
>>> páginas a imprimir,
>>> las otras opciones no las he probado
>>> ... sigue fallando.
>>>
>>> Por lo visto ya teneis por donde está el cambio en esta versión de
>>> Windows.
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
>>> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Xevi,
>>>>
>>>> Prueba con el fichero adjunto.
>>>>
>>>> Un saludo,
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> Xailer support / Soporte de Xailer
>>>> http://www.xailer.com
>>>> http://www.xailer.info
>>>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>>>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>> José,
>>>>>
>>>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>>>> comporta Xailer al imprimir utilizando o no el Preview.
>>>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>>>
>>>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>>>> diálogo de
>>>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>>>> "Imprimir".
>>>>> Si cambiamos de impresora...
>>>>> Si solicitamos distintas cópias...
>>>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>>>> hosjas a imprimir.
>>>>>
>>>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>>>> diálogo.
>>>>>
>>>>>
>>>>> Esto me hace pensar... :-(
>>>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por
>>>>> lo
>>>>> que
>>>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>>>
>>>>> Gracias.
>>>>>
>>>>>
>>>>> Un Saludo,
>>>>> Xevi.
>>>>>
>>>>>
>>>>> "José Lalí­n" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>>
>>>>> Xevi,
>>>>>
>>>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>>>
>>>>> Saludos,
>>>>> José Lalí­n
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio,
Puedo entenderlo, si no hay vista preliminar, es absurdo solicitar de que pagina a que página,... ahora bien,
¿puedo desactivar los controladores de página, intercalar, del cuadro diálogo sin lanzar el Preview???
Porque entiendo que TPrinter lanza el diálogo de impresoras automáticamente, pero no veo como puedo limitar el acceso a estos campos que no quiero que se puedan acceder.
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el mensaje news:4b0ae37f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
Eres tu el que tiene controlar los valores que devuelve TPrintDlg e imprimir sólo las páginas necesarias.
Ejemplo de PreviewControl:
METHOD Print( nPage ) CLASS XPreviewControl
LOCAL aRange
LOCAL nFirst, nLast, nFor
LOCAL hDC
LOCAL lDestroyDC := .F.
LOCAL x, y, nWidth, nHeight
DO CASE
CASE nPage == Nil // Todo
nFirst := 1
nLast := Len( ::oPreviewDC:aEmf )
CASE nPage > 0
nFirst := nPage
nLast := nPage
CASE nPage == 0
aRange := ::GetRange()
IF ! Empty( aRange )
nFirst := aRange[ 1 ]
nLast := aRange[ 2 ]
ELSE
RETURN Nil
ENDIF
OTHERWISE
WITH OBJECT TPrintDlg():Create()
:lPrintSetup := .F.
:lSelection := .F.
:lReturnDC := .T.
:nToPage := Len( ::oPreviewDC:aEmf )
IF :Run()
hDC := :hDC
lDestroyDC := .T.
nFirst := :nFromPage
nLast := :nToPage
ELSE
RETURN Nil
ENDIF
END WITH
END CASE
IF nFirst < 1 .OR. nLast > Len( ::oPreviewDC:aEmf ) .OR. nFirst > nLast
MessageBeep()
RETURN NIL
ENDIF
IF Empty( hDC )
IF ::oPreviewDC:nPrinterIndex != Printer:nPrinterIndex
hDC := PrinterCreateDC()
lDestroyDC := .T.
ELSE
hDC := ::oPreviewDC:hPrinterDC
ENDIF
ENDIF
Application:lBusy := .T.
PrinterStartDoc( hDC, ::oParent:cText )
FOR nFor := nFirst TO nLast
PrinterStartPage( hDC )
nWidth := GetDeviceCaps( hdc, PHYSICALWIDTH )
nHeight := GetDeviceCaps( hdc, PHYSICALHEIGHT )
IF nWidth / nHeight <= ::oPreviewDC:aEmf[ nFor ]:nWidth / ::oPreviewDC:aEmf[ nFor ]:nHeight
nHeight := ::oPreviewDC:aEmf[ nFor ]:nHeight * nWidth / ::oPreviewDC:aEmf[ nFor ]:nWidth
x := 0
y := ( GetDeviceCaps( hdc, PHYSICALHEIGHT ) - nHeight ) / 2
ELSE
nWidth := ::oPreviewDC:aEmf[ nFor ]:nWidth * nHeight / ::oPreviewDC:aEmf[ nFor ]:nHeight
x := ( GetDeviceCaps( hdc, PHYSICALWIDTH ) - nWidth ) / 2
y := 0
ENDIF
::oPreviewDC:aEmf[ nFor ]:Paint( hdc, x, y, x + nWidth, y + nHeight )
PrinterEndPage( hDC )
NEXT
PrinterEndDoc( hDC, .F. )
IF lDestroyDC
PrinterDeleteDC( hDC )
ENDIF
Application:lBusy := .F.
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:4b0ae062$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>
>
> Es el mismo diálogo de Impresoras, si se quiere cambiar cualquier otro
> parámetro como la impresora de salida o las páginas a imprimir... no tiene
> ningún efecto.
>
> El mismo ejemplo sencillo que he puesto para comprovar si se cambian de
> copias sirve para el mismo menester, pues en lugar de cambiar las copias, si
> intentas cambiar de impresora o solicitar SOLO la página 2... verás que no
> funciona como es debido.
> Te adjunto el mismo sample con tres páginas para que puedas probarlo.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
> mensaje news:4b0ad5db$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
>> reproducirlo desde el ejemplo PrinterInfo)
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
>>> Ignacio,
>>>
>>> El número de copias a imprimir... Arreglado!!!
>>> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo,
>>> como...
>>> otra impresora que no sea la proporcionada,
>>> páginas a imprimir,
>>> las otras opciones no las he probado
>>> ... sigue fallando.
>>>
>>> Por lo visto ya teneis por donde está el cambio en esta versión de
>>> Windows.
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
>>> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Xevi,
>>>>
>>>> Prueba con el fichero adjunto.
>>>>
>>>> Un saludo,
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> Xailer support / Soporte de Xailer
>>>> http://www.xailer.com
>>>> http://www.xailer.info
>>>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>>>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>> José,
>>>>>
>>>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>>>> comporta Xailer al imprimir utilizando o no el Preview.
>>>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>>>
>>>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>>>> diálogo de
>>>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>>>> "Imprimir".
>>>>> Si cambiamos de impresora...
>>>>> Si solicitamos distintas cópias...
>>>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>>>> hosjas a imprimir.
>>>>>
>>>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>>>> diálogo.
>>>>>
>>>>>
>>>>> Esto me hace pensar... :-(
>>>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por
>>>>> lo
>>>>> que
>>>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>>>
>>>>> Gracias.
>>>>>
>>>>>
>>>>> Un Saludo,
>>>>> Xevi.
>>>>>
>>>>>
>>>>> "José Lalí­n" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>>
>>>>> Xevi,
>>>>>
>>>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>>>
>>>>> Saludos,
>>>>> José Lalí­n
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
--
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio, Jose...
He modificado la clase TPrinter, el método Run(), para cuando se lanza este diálogo directamente, sin utilizar el Preview.
Lo normal y lógico es que no se puedan seleccionar ni área ni páginas a imprimir, pues no sabemos antes de imprimir cuantas páginas tenemos a imprimir.
METHOD Run( oForm ) CLASS XPrinter
LOCAL lOld, lRet
IF ::oPrnDlg == Nil
::oPrnDlg := TPrintDlg():Create( oForm )
ENDIF
lOld := ::oPrnDlg:lPrintSetup
lRet := .F.
::oPrnDlg:lPrintSetup := .F.
::oPrnDlg:lNoSelection := .T. //Selección no habilitado
::oPrnDlg:lNoPageNums := .T. //Paginas no habilitado
IF ::oPrnDlg:Run()
::FnCopies := ::oPrnDlg:nCopies
::FlCollate := ::oPrnDlg:lCollate
::PrinterIndex()
IF ! Empty( ::oPrnDlg:hDC )
::StartDoc( , oForm, ::oPrnDlg:hDC )
ENDIF
lRet := .T.
ENDIF
::oPrnDlg:lPrintSetup := lOld
RETURN lRet
No se si es del todo correcto o no, pero funciona.
De ser correcto, ¿no creeis que serí­a mas correcto añadir estos cambios a la clase en Xailer para futuras versiones???
Un Saludo,
Xevi.
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:[email=4b0aedad@svctag-j7w3v3j....]4b0aedad@svctag-j7w3v3j....[/email]
Ignacio,
Puedo entenderlo, si no hay vista preliminar, es absurdo solicitar de que pagina a que página,... ahora bien,
¿puedo desactivar los controladores de página, intercalar, del cuadro diálogo sin lanzar el Preview???
Porque entiendo que TPrinter lanza el diálogo de impresoras automáticamente, pero no veo como puedo limitar el acceso a estos campos que no quiero que se puedan acceder.
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el mensaje news:4b0ae37f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
Eres tu el que tiene controlar los valores que devuelve TPrintDlg e imprimir sólo las páginas necesarias.
Ejemplo de PreviewControl:
METHOD Print( nPage ) CLASS XPreviewControl
LOCAL aRange
LOCAL nFirst, nLast, nFor
LOCAL hDC
LOCAL lDestroyDC := .F.
LOCAL x, y, nWidth, nHeight
DO CASE
CASE nPage == Nil // Todo
nFirst := 1
nLast := Len( ::oPreviewDC:aEmf )
CASE nPage > 0
nFirst := nPage
nLast := nPage
CASE nPage == 0
aRange := ::GetRange()
IF ! Empty( aRange )
nFirst := aRange[ 1 ]
nLast := aRange[ 2 ]
ELSE
RETURN Nil
ENDIF
OTHERWISE
WITH OBJECT TPrintDlg():Create()
:lPrintSetup := .F.
:lSelection := .F.
:lReturnDC := .T.
:nToPage := Len( ::oPreviewDC:aEmf )
IF :Run()
hDC := :hDC
lDestroyDC := .T.
nFirst := :nFromPage
nLast := :nToPage
ELSE
RETURN Nil
ENDIF
END WITH
END CASE
IF nFirst < 1 .OR. nLast > Len( ::oPreviewDC:aEmf ) .OR. nFirst > nLast
MessageBeep()
RETURN NIL
ENDIF
IF Empty( hDC )
IF ::oPreviewDC:nPrinterIndex != Printer:nPrinterIndex
hDC := PrinterCreateDC()
lDestroyDC := .T.
ELSE
hDC := ::oPreviewDC:hPrinterDC
ENDIF
ENDIF
Application:lBusy := .T.
PrinterStartDoc( hDC, ::oParent:cText )
FOR nFor := nFirst TO nLast
PrinterStartPage( hDC )
nWidth := GetDeviceCaps( hdc, PHYSICALWIDTH )
nHeight := GetDeviceCaps( hdc, PHYSICALHEIGHT )
IF nWidth / nHeight <= ::oPreviewDC:aEmf[ nFor ]:nWidth / ::oPreviewDC:aEmf[ nFor ]:nHeight
nHeight := ::oPreviewDC:aEmf[ nFor ]:nHeight * nWidth / ::oPreviewDC:aEmf[ nFor ]:nWidth
x := 0
y := ( GetDeviceCaps( hdc, PHYSICALHEIGHT ) - nHeight ) / 2
ELSE
nWidth := ::oPreviewDC:aEmf[ nFor ]:nWidth * nHeight / ::oPreviewDC:aEmf[ nFor ]:nHeight
x := ( GetDeviceCaps( hdc, PHYSICALWIDTH ) - nWidth ) / 2
y := 0
ENDIF
::oPreviewDC:aEmf[ nFor ]:Paint( hdc, x, y, x + nWidth, y + nHeight )
PrinterEndPage( hDC )
NEXT
PrinterEndDoc( hDC, .F. )
IF lDestroyDC
PrinterDeleteDC( hDC )
ENDIF
Application:lBusy := .F.
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:4b0ae062$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>
>
> Es el mismo diálogo de Impresoras, si se quiere cambiar cualquier otro
> parámetro como la impresora de salida o las páginas a imprimir... no tiene
> ningún efecto.
>
> El mismo ejemplo sencillo que he puesto para comprovar si se cambian de
> copias sirve para el mismo menester, pues en lugar de cambiar las copias, si
> intentas cambiar de impresora o solicitar SOLO la página 2... verás que no
> funciona como es debido.
> Te adjunto el mismo sample con tres páginas para que puedas probarlo.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
> mensaje news:4b0ad5db$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
>> reproducirlo desde el ejemplo PrinterInfo)
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
>>> Ignacio,
>>>
>>> El número de copias a imprimir... Arreglado!!!
>>> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo,
>>> como...
>>> otra impresora que no sea la proporcionada,
>>> páginas a imprimir,
>>> las otras opciones no las he probado
>>> ... sigue fallando.
>>>
>>> Por lo visto ya teneis por donde está el cambio en esta versión de
>>> Windows.
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
>>> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Xevi,
>>>>
>>>> Prueba con el fichero adjunto.
>>>>
>>>> Un saludo,
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> Xailer support / Soporte de Xailer
>>>> http://www.xailer.com
>>>> http://www.xailer.info
>>>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>>>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>> José,
>>>>>
>>>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>>>> comporta Xailer al imprimir utilizando o no el Preview.
>>>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>>>
>>>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>>>> diálogo de
>>>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>>>> "Imprimir".
>>>>> Si cambiamos de impresora...
>>>>> Si solicitamos distintas cópias...
>>>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>>>> hosjas a imprimir.
>>>>>
>>>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>>>> diálogo.
>>>>>
>>>>>
>>>>> Esto me hace pensar... :-(
>>>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por
>>>>> lo
>>>>> que
>>>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>>>
>>>>> Gracias.
>>>>>
>>>>>
>>>>> Un Saludo,
>>>>> Xevi.
>>>>>
>>>>>
>>>>> "José Lalí­n" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>>
>>>>> Xevi,
>>>>>
>>>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>>>
>>>>> Saludos,
>>>>> José Lalí­n
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
--
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio,
Por lo que respecta a número de páginas, entendido.
Ahora bien, ¿y seleccionar otra impresora que no sea la solicitada en el Combobox de impresoras disponibles???
Te puedo asegurar que en XP o anterior si cambias de impresora, la salida de la impresión es la correcta.
En Win7 por mas que solicitemos otra impresora, lo lanza por la que estaba seleccionada a la entrada del diálogo.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el mensaje news:4b0ae37f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
Eres tu el que tiene controlar los valores que devuelve TPrintDlg e imprimir sólo las páginas necesarias.
Ejemplo de PreviewControl:
METHOD Print( nPage ) CLASS XPreviewControl
LOCAL aRange
LOCAL nFirst, nLast, nFor
LOCAL hDC
LOCAL lDestroyDC := .F.
LOCAL x, y, nWidth, nHeight
DO CASE
CASE nPage == Nil // Todo
nFirst := 1
nLast := Len( ::oPreviewDC:aEmf )
CASE nPage > 0
nFirst := nPage
nLast := nPage
CASE nPage == 0
aRange := ::GetRange()
IF ! Empty( aRange )
nFirst := aRange[ 1 ]
nLast := aRange[ 2 ]
ELSE
RETURN Nil
ENDIF
OTHERWISE
WITH OBJECT TPrintDlg():Create()
:lPrintSetup := .F.
:lSelection := .F.
:lReturnDC := .T.
:nToPage := Len( ::oPreviewDC:aEmf )
IF :Run()
hDC := :hDC
lDestroyDC := .T.
nFirst := :nFromPage
nLast := :nToPage
ELSE
RETURN Nil
ENDIF
END WITH
END CASE
IF nFirst < 1 .OR. nLast > Len( ::oPreviewDC:aEmf ) .OR. nFirst > nLast
MessageBeep()
RETURN NIL
ENDIF
IF Empty( hDC )
IF ::oPreviewDC:nPrinterIndex != Printer:nPrinterIndex
hDC := PrinterCreateDC()
lDestroyDC := .T.
ELSE
hDC := ::oPreviewDC:hPrinterDC
ENDIF
ENDIF
Application:lBusy := .T.
PrinterStartDoc( hDC, ::oParent:cText )
FOR nFor := nFirst TO nLast
PrinterStartPage( hDC )
nWidth := GetDeviceCaps( hdc, PHYSICALWIDTH )
nHeight := GetDeviceCaps( hdc, PHYSICALHEIGHT )
IF nWidth / nHeight <= ::oPreviewDC:aEmf[ nFor ]:nWidth / ::oPreviewDC:aEmf[ nFor ]:nHeight
nHeight := ::oPreviewDC:aEmf[ nFor ]:nHeight * nWidth / ::oPreviewDC:aEmf[ nFor ]:nWidth
x := 0
y := ( GetDeviceCaps( hdc, PHYSICALHEIGHT ) - nHeight ) / 2
ELSE
nWidth := ::oPreviewDC:aEmf[ nFor ]:nWidth * nHeight / ::oPreviewDC:aEmf[ nFor ]:nHeight
x := ( GetDeviceCaps( hdc, PHYSICALWIDTH ) - nWidth ) / 2
y := 0
ENDIF
::oPreviewDC:aEmf[ nFor ]:Paint( hdc, x, y, x + nWidth, y + nHeight )
PrinterEndPage( hDC )
NEXT
PrinterEndDoc( hDC, .F. )
IF lDestroyDC
PrinterDeleteDC( hDC )
ENDIF
Application:lBusy := .F.
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:4b0ae062$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Ignacio,
>
>
> Es el mismo diálogo de Impresoras, si se quiere cambiar cualquier otro
> parámetro como la impresora de salida o las páginas a imprimir... no tiene
> ningún efecto.
>
> El mismo ejemplo sencillo que he puesto para comprovar si se cambian de
> copias sirve para el mismo menester, pues en lugar de cambiar las copias, si
> intentas cambiar de impresora o solicitar SOLO la página 2... verás que no
> funciona como es debido.
> Te adjunto el mismo sample con tres páginas para que puedas probarlo.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
> mensaje news:4b0ad5db$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi,
>>
>> Dime que diálogo y que otro parámetro. Gracias. (a ser posible como
>> reproducirlo desde el ejemplo PrinterInfo)
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>> news:[email=4b0acbce@svctag-j7w3v3j....]4b0acbce@svctag-j7w3v3j....[/email]
>>> Ignacio,
>>>
>>> El número de copias a imprimir... Arreglado!!!
>>> Ahora bien, si modificamos algun otro parámetro del cuadrodiálogo,
>>> como...
>>> otra impresora que no sea la proporcionada,
>>> páginas a imprimir,
>>> las otras opciones no las he probado
>>> ... sigue fallando.
>>>
>>> Por lo visto ya teneis por donde está el cambio en esta versión de
>>> Windows.
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
>>> mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Xevi,
>>>>
>>>> Prueba con el fichero adjunto.
>>>>
>>>> Un saludo,
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> Xailer support / Soporte de Xailer
>>>> http://www.xailer.com
>>>> http://www.xailer.info
>>>> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
>>>> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>> José,
>>>>>
>>>>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>>>>> comporta Xailer al imprimir utilizando o no el Preview.
>>>>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>>>>
>>>>> Debo añadir al error que TODO lo que se modifique en el cuadro de
>>>>> diálogo de
>>>>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>>>>> "Imprimir".
>>>>> Si cambiamos de impresora...
>>>>> Si solicitamos distintas cópias...
>>>>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>>>>> hosjas a imprimir.
>>>>>
>>>>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>>>>> diálogo.
>>>>>
>>>>>
>>>>> Esto me hace pensar... :-(
>>>>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>>>>> comportamiento "distinto" hasta esta nueva versión de Windows,... por
>>>>> lo
>>>>> que
>>>>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>>>>
>>>>> Gracias.
>>>>>
>>>>>
>>>>> Un Saludo,
>>>>> Xevi.
>>>>>
>>>>>
>>>>> "José Lalí­n" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>>>>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>>>
>>>>> Xevi,
>>>>>
>>>>> ¿puedes poner el fuente donde lanzas la impresión?
>>>>>
>>>>> Saludos,
>>>>> José Lalí­n
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
--
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Xailer y Windows 7

Mensaje por Xevi »

Ignacio,
añadiendo este obj, como he comentado funciona el numero de copias, pero no
se puede cambiar de impresora de salida de la impresión. Esto también ha
roto XP. El funcionamiento ahora es el mismo en uno o en otro sistema.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el
mensaje news:4b0ac0f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi,
>
> Prueba con el fichero adjunto.
>
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "Xevi" <xevicomas@gmail.com> escribió en el mensaje
> news:4b0a9bad$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> José,
>>
>> He preparado un pequeño ejemplo... lo mas sencillo, para ver como se
>> comporta Xailer al imprimir utilizando o no el Preview.
>> El error está al IMPRIMIR SIN UTILIZAR PREVIEW...
>>
>> Debo añadir al error que TODO lo que se modifique en el cuadro de diálogo
>> de
>> impresoras no tiene ningún efecto al pulsar finalmente el botón
>> "Imprimir".
>> Si cambiamos de impresora...
>> Si solicitamos distintas cópias...
>> Si fallan estos dos parámetros, igual van a fallar el intercalado y las
>> hosjas a imprimir.
>>
>> TODOS los parámetros los lanza con los datos que ha abierto el cuadro
>> diálogo.
>>
>>
>> Esto me hace pensar... :-(
>> Igual TODOS los cuadros de diálogo que utilizemos en 7 tienen el
>> comportamiento "distinto" hasta esta nueva versión de Windows,... por lo
>> que
>> intentaré probar los distintos cuadros de diálogo,Abrir, Guardar...
>>
>> Gracias.
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje
>> news:4b0a8b84$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>
>> Xevi,
>>
>> ¿puedes poner el fuente donde lanzas la impresión?
>>
>> Saludos,
>> José Lalín
>>
>>
>>
>
>
>
Responder