Página 1 de 1
Porque o isprinter() no XP sempre retorna .t.
Enviado: 07 Ago 2007 07:48
por juniorcamilo
Amigos estou com o prolema que a funcao isprinter() so retorna .t. no XP oq Fazer???
Enviado: 07 Ago 2007 08:30
por diogenes_varela
Que tipo de porta de impressora vc está usando? USB, LPT?
Se for LPT verifique no SETUP se a opção está definida como MODE ECP.
Enviado: 07 Ago 2007 09:44
por Maligno
Amigos estou com o prolema que a funcao isprinter() so retorna .t. no XP oq Fazer???
Mesmo que numa porta local você sempre tenha TRUE, é melhor nem perder tempo em resolver isso por quê uma hora você vai ter que imprimir em rede ou numa porta USB e aí já não será possível mesmo verificar o estado da impressora. Isso é um problema antigo. Não há solução para impressoras remotas ou USB.
Enviado: 07 Ago 2007 09:55
por Pablo César
Não há solução para impressoras remotas ou USB.
Ao menos que seja verificado essa condição antes. Digamos então que poderia ser identificada a impressora for local (LPT1, ou LPT2, isto é não compartilha e não USB) e somente executar essa verificação se está ligada, se tem papel, fazer o tratamento dessa impossobilidade.
Enviado: 07 Ago 2007 10:06
por Maligno
Penso o seguinte: de quê me adianta poder identificar o estado de uma certa impressora mas de outra não? Ou identifico o estado de todas, ou de nenhuma. Meio a meio fica esquisito, não?
Pelo fato de não haver solução para isso, nem me preocupo mais. Deixo a cargo do usuário verificar se a impressora, local ou remota, está ou não pronta.
Enviado: 07 Ago 2007 10:38
por Pablo César
identifico o estado de todas, ou de nenhuma.
Bem essa é a sua opinião. a minha sempre foi em oferecer o máximo possível dentro das minhas limitações. Eu terei que rever todo o conceito de impressão e questão impressoras por consequente, visto ao fato que irei implementar o aplicativo do MarcosV que irá aperfeiçoar-lo mais ainda. Porque até o momento eu tenho um cadastro de impressoras e em cada estação guardo algumas caracteristicas da impressora que está instalada. Desta forma sei se é impressora local e em que porta está, como também que driver utilizar. Mas espero não me aborrecer mais com toda essa questão de drivers de impressão (isso espero).
Espero que o MarcosV abra um novo tópico do seu aplicativo com versão mais dinâmico. Tenho certeza que o aplicativo dele irá ter sucesso com as novas implementações sugeridas.
Re: Porque o isprinter() no XP sempre retorna .t.
Enviado: 07 Ago 2007 13:23
por sygecom
juniorcamilo escreveu:Amigos estou com o prolema que a funcao isprinter() so retorna .t. no XP oq Fazer???
Tche, Realmente isso é um problema antigo como foi dito ...agora se vc quiser dar um pulo a mais e fazer sua propria rotina de impressão em xharbour ai sim funciona...alem de vc ter varias outras opções na impressão.
Se quiser dar uma olhada em um exemplo simples..de uma olhada no link abaixo:
https://pctoledo.org/forum/viewtopic.php?t=5764
Abraços
Leonardo Machado
Enviado: 07 Ago 2007 13:40
por Maligno
Numa impressora remota não haveria meio, mesmo pelo Xharbour, de verificar se ela está pronta para impressão. E se não dá certo com uma impressora, não vejo motivo pra verificar uma outra. Seria melhor se fosse possível com todas. Mas não é.
Enviado: 07 Ago 2007 13:59
por sygecom
Bom eu não uso impressora remota ...mas tenho clientes que usam....posso ver se funciona.....a principio a impressão é normal...atraves do TS.
Enviado: 07 Ago 2007 14:06
por Maligno
Por TS o remoto passa a ser local. Outra: mesmo sendo local, pode ser USB. Até acho que exista um meio de descobrir se a impressora está pronta. Mas não deve ser nada fácil. Se o XHarbour tem uma função pra isso, gostaria de saber qual é.
Enviado: 08 Ago 2007 07:37
por juniorcamilo
Olha a Porta de Impressao é mesmo LPT1 e ta no setup ECP, e somente no XP que sempre e sempre o ISPRINTER() retorna .t., no 98 ou mesmo em DOS retorna corretamente.....