SetPrintDefault no cambia el valor de PrnGetName (solucionad

SetPrintDefault no cambia el valor de PrnGetName (solucionad

Postby interwin » Wed Oct 10, 2012 2:30 am

Buenas noches

si tengo el siguiente programa

.
.
cImpresoraAnterior:=PrnGetName()
SetPrintDefault(cNuevaImpresora)
msginfo(PrnGetName())
.
.

Windows si establece a cNuevaImpresora como la impresora por defautl, pero mi aplicacion FWH no ( PrnGetName() sigue referenciando a cImpresoraAnterior), hasta que cierro y abro de nuevo mi aplicacion.

Parece ser que alguna variable de FWH no se actualiza con SetPrintDefault(cNuevaImpresora) y sigue tomando el valor de la impresora predeterminada al entrar al programa(cImpresoraAnterior).

¿como hago para corregir esto?

Saludos.
Last edited by interwin on Wed Oct 10, 2012 11:47 pm, edited 1 time in total.
interwin
 
Posts: 33
Joined: Wed Jan 25, 2012 9:30 pm

Re: SetPrintDefault no cambia el valor de PrnGetName

Postby karinha » Wed Oct 10, 2012 5:34 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7825
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: SetPrintDefault no cambia el valor de PrnGetName

Postby interwin » Wed Oct 10, 2012 11:47 pm

Karinha

Funciono

Muchas Gracias.
interwin
 
Posts: 33
Joined: Wed Jan 25, 2012 9:30 pm

Re: SetPrintDefault no cambia el valor de PrnGetName

Postby interwin » Thu Oct 11, 2012 12:08 am

Karinha

Funciono:

cImpresoraAnterior:=( "windows", "device" , "" )
WriteProfString( "windows", "device",cNuevaImpresora)
SysRefresh()
PrinterInit()
msginfo(PrnGetName())
WriteProfString( "windows", "device",cImpresoraAnterior)


Tambien funciona con:

cImpresoraAnterior:=PrnGetName()
SetPrintDefault(cNuevaImpresora)
SysRefresh()
PrinterInit()
msginfo(PrnGetName())
SetPrintDefault(cImpresoraAnterior)

Muchas Gracias.
interwin
 
Posts: 33
Joined: Wed Jan 25, 2012 9:30 pm

Re: SetPrintDefault no cambia el valor de PrnGetName (solucionad

Postby sysctrl2 » Thu Oct 11, 2012 12:29 am

ya que andamos en este tema:

Code: Select all  Expand view
PRINTER oPrn PREVIEW
oPrn:Setup()
* ......
* .....
ENDPRINT
 


Amigos el method oPrn:Setup() de la class tprinter presenta 2 botones: [ Acepta ], [ Cancelar ]

abra forma de configurar las class para que cuando demos CANCELAR

se regrese y no prosiga con el reporte?

por ejemplo:

Code: Select all  Expand view
if ! oPrn:setup()
     retur nil
endif


Saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm

Re: SetPrintDefault no cambia el valor de PrnGetName (solucionad

Postby Antonio Linares » Thu Oct 11, 2012 9:36 am

César,

Modificando asi el método Setup() de la Clase TPrinter:

METHOD Setup() BLOCK { | Self, hDC | hDC := PrinterSetup(), ::Rebuild(), hDC != 0 }

devuelve un valor lógico, lo que te permite hacer:

Code: Select all  Expand view

if ! oPrinter:Setup()
   return nil
endif
 
regards, saludos

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

Re: SetPrintDefault no cambia el valor de PrnGetName (solucionad

Postby sysctrl2 » Thu Oct 11, 2012 4:56 pm

Excelente Antonio,

Haremos la prueba

Gracias..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 41 guests