Página 1 de 1
erro ERROR TERM/0 Print error
Enviado: 13 Fev 2005 23:28
por janio
Olá a todos,
Este está acontecendo quando mando imprimir e a impressora não está pronta... o que eu queria saber é como faço para que quando a impressora não esteja pronta, NÃO APAREÇA ESTE ERRO (ele aborta o programa) e sim qualquer outra mensagem que eu possar configurar.
Um abraço,
Janio
Enviado: 14 Fev 2005 00:46
por ANDRIL
Ola Janio,
Vc ja tentou utilizar a funcao ISPRINTER() para verificar a porta de impressao antes do envio do relatorio? Veja:
IF ISPRINTER()
... seu relatorio
ELSE
Wait"Erro com a impressora! Verifique-a"
ENDIF
Nota: A funcao ISPRINTER() so consegue testar a porta padrão de impressao LPT1 não consegue testar LPT2,LTP3...
Abracos,
Enviado: 14 Fev 2005 17:02
por janio
Olá Andril,
Obrigado por responder...
Estou utilizando a função ISPRINTER() e mesmo assim continua dando o mesmo erro. Veja como estou fazendo:
Código: Selecionar todos
SET PRINTER ON
SET PRINTER TO LPT1
SET DEVICE TO PRINTER
SET CONSOLE OFF
IF .NOT. ISPRINTER()
MSG({"** A T E N C A O ! **",;
"A IMPRESSORA NAO ESTA PRONTA"}, , vCOR_MSG, vCOR_MS1)
RstEnv( aEnv )
RETURN .F.
ENDIF
xCODCLI = FATURA->CODCLI
SELECT EMPRESA
GOTO TOP
@ PROW() + 02, 30 SAY EMPRESA->NOMRDZ
@ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79)
@ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE)
@ PROW() + 01, 00 SAY REPLICATE("-",79)
...
...
...
Não sei o que está acontecendo!
Aguardo ajuda...
Janio
PS: Estou utilizando a impressora PANASONIC KX-P1150
Enviado: 14 Fev 2005 19:07
por Junior
Tua impressora é uma LOCAL ( lpt1 ) ou está na rede
O ISPRINTER() em modo básico apenas consulta a LPT1 como o amigo ANDRIL já citou.
Já no seu código, vc faz assim :
Código: Selecionar todos
SET PRINTER ON
SET PRINTER TO LPT1
SET DEVICE TO PRINTER
SET CONSOLE OFF
tente assim :
Código: Selecionar todos
SET PRINTER ON ---> liga a impressora
SET DEVICE TO PRINTER ----> direciona saida pra impressao
SET PRINTER TO LPT1 ----> direciona a impressao
SET CONSOLE OFF ---> fecha a saida do console
Faça um teste desse jeito ok !?
Enviado: 14 Fev 2005 21:08
por janio
Olá Junior,
Tentei como vc falou e continuou
SEM FUNCIONAR...
Estou percebendo o seguinte: A função
ISPRINTER() tem testado CORRETAMENTE se a impressora está ligada ou não. Pra testar, coloquei uma mensagem (alert) quando a impressora está desligada... ele testa e diz corretamente que a impressora está desligada... a partir do ALERT perco o controle do "barco"... rs... ele não obedece mais a um RETURN, LOOP, EXIT ou seja seja lá o que for... rs... e aborta o programa, veja:
Código: Selecionar todos
SET PRINTER ON
SET DEVICE TO PRINTER
SET PRINTER TO LPT1
SET CONSOLE OFF
IF .NOT. ISPRINTER()
ALERT("A IMPRESSORA NAO ESTA PRONTA") // mostra a mensagem
LOOP // aki não obedece e aparece aquela mensagem chata
ENDIF
xCODCLI = FATURA->CODCLI
SELECT EMPRESA
GOTO TOP
@ PROW() + 02, 30 SAY EMPRESA->NOMRDZ
@ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79)
@ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE)
@ PROW() + 01, 00 SAY REPLICATE("-",79)
...
...
...
Continuo esperando ajuda...
Janio
PS: Utilizo impressora local (LPT1), Win98, Clipper5.2e e Blinker7
Enviado: 14 Fev 2005 23:47
por Dudu_XBase
Código: Selecionar todos
IF .NOT. ISPRINTER()
ALERT("A IMPRESSORA NAO ESTA PRONTA")
LOOP
ENDIF
SET PRINTER ON
SET DEVICE TO PRINTER
SET PRINTER TO LPT1
SET CONSOLE OFF
xCODCLI = FATURA->CODCLI
SELECT EMPRESA
GOTO TOP
@ PROW() + 02, 30 SAY EMPRESA->NOMRDZ
@ PROW() + 01, 00 SAY PADC(EMPRESA->NOMEMP,79)
@ PROW() + 01, 10 SAY PADC(EMPRESA->ENDERE)
@ PROW() + 01, 00 SAY REPLICATE("-",79)
...
...
...
Enviado: 15 Fev 2005 00:16
por janio
Enviado: 15 Fev 2005 08:03
por Junior
Putz, mas óbvio.....
ISPRINTER() antes da chamada da impressão....
juro q vou ficar me martirizando aqui o dia todo por esse vacilo... hehehe...
isso ai Dudu, grande garoto !
Até mais...