La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5707 - CUANDO IMPRIMO EN UNA IMPRESORA REMOTA, NO IMPRIME HASTA..
Autor:  David Román Guerrero
Les pido un favor si me pueden ayudar, con un problema. Cuando mando a imprimir desde un terminal a una impresora remota de la red Windows, no imprime hasta que cierre la aplicación en la terminal.

Se queda en la cola de impresión, ya probé modificando para que imprima directo en la impresora.

Les voy a agradecer...

  Respuesta:  Pascual Vicente Pujante
Lo unico que tienes que hacer es, cuando termines de imprimir poner
set printer to

con eso cierras el puerto y la impresora remota se pondrá a imprimir. Dime si te funciona.

  Respuesta:  Cruz Alfredo Vásquez Ceja
Prueba al final de la impresion el comando eject, y me avisas

  Respuesta:  Fernando Reyes
A mí tambien me pasó un tiempo, pero todo me funcionó cuando implementé estas funciones.

// Abre el puerto o el archivo especificado
// en <Dispo>, si es archivo, añade o lo trunca
// según <Anadir>, y retorna si pudo o no.

Func OnLine( Dispo , Anadir )
Local error:=ErrorBlock({|x|if(x:CanDefault,.f.,Break(x))}),__Ret:=.t.
Begin Sequence
Set cons off
Set devi to print
Set prin on
// Esta linea es el SET PRINTER TO ...
// pero como función, no como comando.
Set( 24 , Dispo , Anadir )
SetPrc(0,0)
?? " "
recover
offLine()
__ret:=.f.
end
ErrorBlock(error)
retu(__ret)

// cierra el puerto o el archivo especificado al
// hacer OnLine()
Func OffLine()
set prin OFF
SET PRINTER TO
Set devi to screen
set cons on
retu

Si aún persiste el problema, prueba imprimiendo a un archivo temporal y luego haces un
__CopyFile( <temporal> , <puerto> ). No sé si esta función estaba implementada en la 5.01 pero la idea es copiar el archivo temporal al puerto correspondiente.