O primeiro cenário:
a) estações XP (todas com 100% de Update), acessando servidor Win2003 (idem) via Conexão de Área de Trabalho Remota (local ou via net/NO-IP).
b) programa feito com xHarbour 1.0.0 + GTWVT (o básico do básico: só para aumentar o número de linhas e melhorar a aparência das cores normais do console).
c) impressão via Win32prn(), usando a printer default local.
d) impressão em preto RGB(0,0,0) ou parte em preto e parte em vermelho RGB(255,0,0).
e) impressora HP 3745, driver atualizado, conectada a uma das estações.
Mando imprimir usando cada uma das 4 opções do método SETPRINTQUALITY() e todas elas (de -1=rascunho até -4=melhor qualidade) funcionam perfeitamente. Show de bola.
O segundo cenário:
a) igual acima
b) igual acima
c) igual acima
d) igual acima
e.1) impresssora HP D2460, driver atualizado, conectada a uma das estações
ou...
e.2) impresssora HP F4180, driver atualizado, conectada a uma das estações
Mando imprimir usando cada uma das 4 opções do método SETPRINTQUALITY(), e aí o Ghost aparece.
A - Impressão em preto
. todas as opções -1, -2, -3 e -4 funcionam perfeitamente. Show de bola.
B - Impressão em preto e vermelho
. as opções -1, -2 e -4 funcionam perfeitamente. Show de bola.
. quando seto a opção -3, a impressora (tanto a D2460 quanto a F4180) nem respondem. O job aparece no gerenciador de impressão, mas aparece rapidamente e some. Nada é impresso.
Alguém tem alguma sugestão? Será que é Ghost mesmo (como diria o Anderson do CAClipper) ou o que?
Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Moderador: Moderadores
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Ah, uma "curiosidade":
a) a HP 3745 tem 5 opções de impressão (rascunho rápido, normal rápido, normal, ótima e máxima), contra 4 opções da SETPRINTQUALITY(), mas a coisa funciona normal, preto/branco ou colorido;
b) já as outras printers (D2460 e F4180) têm 4 opções (rascunho rápido, normal rápido, normal e melhor), o mesmo número de opções da SETPRINTQUALITY(), mas a -3, quando a cores, não funciona...
a) a HP 3745 tem 5 opções de impressão (rascunho rápido, normal rápido, normal, ótima e máxima), contra 4 opções da SETPRINTQUALITY(), mas a coisa funciona normal, preto/branco ou colorido;
b) já as outras printers (D2460 e F4180) têm 4 opções (rascunho rápido, normal rápido, normal e melhor), o mesmo número de opções da SETPRINTQUALITY(), mas a -3, quando a cores, não funciona...
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Boa noite Eolo.
Eu também já havia detectado esta dificuldade, não exatamente como a comentada. Relatei o fato no thread "Win32prn para iniciantes".
Tenho até um caso em que o SETPRINTQUALITY() em nada afeta o resultado na impressora.
Você já tentou alternar as impressoras para ver se pode ser alguma configuração na estação, ou se realmente é um conflito com uma determinada impressora (marca / modelo)...
Não sei se isto pode ser um bug da Classe Win32prn() ou do xHarbour, ou ainda algum detalhe ainda não observado pelos colegas que estão desenvolvendo essa Classe.
Eu também já havia detectado esta dificuldade, não exatamente como a comentada. Relatei o fato no thread "Win32prn para iniciantes".
Tenho até um caso em que o SETPRINTQUALITY() em nada afeta o resultado na impressora.
Você já tentou alternar as impressoras para ver se pode ser alguma configuração na estação, ou se realmente é um conflito com uma determinada impressora (marca / modelo)...
Não sei se isto pode ser um bug da Classe Win32prn() ou do xHarbour, ou ainda algum detalhe ainda não observado pelos colegas que estão desenvolvendo essa Classe.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Olá, Hasse.
Eu já tinha visto o post que vc mencionou, que aliás é fonte de consulta pra mim, mas resolvi abrir este tópico para tentar sim achar alguma solução mas, principalmente, para apontar o provável bug para o pessoal.
Sim, testei as impressoras em diferentes estações, imprimindo a partir do próprio PC onde a impressora está conectada, imprimindo a partir de outro PC da rede local ou ainda imprimindo via TS: dá sempre o mesmo resultado para as impressoras D2460 e F4180: a opção -3, somente quando a cores, por alguma razão "mata" o job de impressão.
Veja bem, não é que a impressão sai errada: ela simplesmente não sai na impressora! E sem dar nenhuma mensagem de erro.
Já usando uma HP 3745, com as mesmas opções acima (incluindo o -3, a cores), a impressão sai normal.
Um outro detalhe que acabou passando: a impressão a que me refiro é uma etiqueta para produtos e usa as fontes EAN-13 e ARIAL ROUNDED MT BOLD (TTF), parte em preto e parte em vermelho. Bem, uma dessas fontes poderia ser a causadora da encrenca, mas eu não acredito muito nisso, porque o erro acontece com um valor intermediário (-3). Se fosse nos limites (-1 ou -4) até teria alguma lógica... Bem, tentei substituir a citada fonte por uma fonte 'padrão' do Windows: mesmo resultado.
Veja, a seguir, uma parte do código fonte (só o que interessa, pra não ficar muito extenso). Não tem nada de muito especial nele, é puro arroz-com-feijão.
Eu já tinha visto o post que vc mencionou, que aliás é fonte de consulta pra mim, mas resolvi abrir este tópico para tentar sim achar alguma solução mas, principalmente, para apontar o provável bug para o pessoal.
Sim, testei as impressoras em diferentes estações, imprimindo a partir do próprio PC onde a impressora está conectada, imprimindo a partir de outro PC da rede local ou ainda imprimindo via TS: dá sempre o mesmo resultado para as impressoras D2460 e F4180: a opção -3, somente quando a cores, por alguma razão "mata" o job de impressão.
Veja bem, não é que a impressão sai errada: ela simplesmente não sai na impressora! E sem dar nenhuma mensagem de erro.
Já usando uma HP 3745, com as mesmas opções acima (incluindo o -3, a cores), a impressão sai normal.
Um outro detalhe que acabou passando: a impressão a que me refiro é uma etiqueta para produtos e usa as fontes EAN-13 e ARIAL ROUNDED MT BOLD (TTF), parte em preto e parte em vermelho. Bem, uma dessas fontes poderia ser a causadora da encrenca, mas eu não acredito muito nisso, porque o erro acontece com um valor intermediário (-3). Se fosse nos limites (-1 ou -4) até teria alguma lógica... Bem, tentei substituir a citada fonte por uma fonte 'padrão' do Windows: mesmo resultado.
Veja, a seguir, uma parte do código fonte (só o que interessa, pra não ficar muito extenso). Não tem nada de muito especial nele, é puro arroz-com-feijão.
Código: Selecionar todos
#define RGB_BLACK RGB(0,0,0)
#define RGB_RED RGB(255,0,100)
oPrinter:setPrintQuality(-2)
* imprime produto
oPrinter:setColor(RGB_BLACK)
oPrinter:SetFont('ARIAL ROUNDED MT BOLD', 18, {3,25},0 )
x=oprinter:mm_to_posX(valorx)
y=oprinter:mm_to_posY(valory)
setpos(x,y)
oPrinter:TextOutat(x,y,nprod->ndesc,.f.,.f.,1)
* imprime valor
oPrinter:setColor(RGB_RED)
oPrinter:SetFont('ARIAL ROUNDED MT BOLD', 54.5, {3,9}, 700 )
x=oprinter:mm_to_posX(valorx)
y=oprinter:mm_to_posY(valory)
setpos(x,y)
oPrinter:TextOutat(x,y,"R$"+tran(nprod->nprec,"@E 9,999.99"),.f.,.f.,1)
* imprime EAN13
oPrinter:setColor(RGB_BLACK)
oPrinter:SetFont('EAN-13', 15, {3,25} )
x=oprinter:mm_to_posX(valorx)
y=oprinter:mm_to_posY(valory)
setpos(x,y)
oPrinter:TextOutat(x,y,alltrim(str(nprod->nbarr)),.f.,.f.,0)
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Realmente parace que é, como você dia, puro feijão-com-arroz, ou arroz-com-ovo-frito...
É... Mistério... Mistério puro...
A solução deste mistério também me interessa, e muito...
Vamos insistir, e certamente teremos uma solução... Esta solução deixará a Classe "redondinha".
Boa sorte para todos nós.
É... Mistério... Mistério puro...
A solução deste mistério também me interessa, e muito...
Vamos insistir, e certamente teremos uma solução... Esta solução deixará a Classe "redondinha".
Boa sorte para todos nós.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Bom fiz uns teste aqui com setPrintQuality, porem aqui deu tudo certo, porem só tenho uma impressora para testar. O negocio é passar esse erro para o desenvolvedor da Win32prn, Peter Rees, email: peter< AT >rees.co.nz
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Dei uma futricada no MSDN do Windows e achei isso:
http://msdn.microsoft.com/pt-br/library/aa911419.aspx
Isso me levou até a WINGDI.CH que se encontra em "\xharbour\contrib\what32\include"
#define DEFAULT_QUALITY 0
#define DRAFT_QUALITY 1
#define PROOF_QUALITY 2
#define NONANTIALIASED_QUALITY 3
#define ANTIALIASED_QUALITY 4
Só não tenho como testar hj aqui, somente PDFCREATOR, vou tentar testar amanha na minha HP 1410.
http://msdn.microsoft.com/pt-br/library/aa911419.aspx
Isso me levou até a WINGDI.CH que se encontra em "\xharbour\contrib\what32\include"
#define DEFAULT_QUALITY 0
#define DRAFT_QUALITY 1
#define PROOF_QUALITY 2
#define NONANTIALIASED_QUALITY 3
#define ANTIALIASED_QUALITY 4
Só não tenho como testar hj aqui, somente PDFCREATOR, vou tentar testar amanha na minha HP 1410.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Bug em SETPRINTQUALITY() + SETCOLOR() da Win32prn()?
Outro link relacionado ao assunto:
http://support.microsoft.com/kb/197076/pt
http://support.microsoft.com/kb/197076/pt
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
