Jump to content
Fivewin Brasil

Classe TDosPrn


siscat

Recommended Posts

Esta classe realmente é muito boa pra gente que está convertendo programas DOS para Windows...

só está ocorrendo um problema que eu não estou conseguindo resolver:

Quando gero o relatorio a primeira linha da pagina 2 em diante sempre sai na pagina anterior??? Ou seja pagina 1 é impressa e na ultima linha sai a primeira linha da pagina 2... coisa complicada de explicar.. hehehe

alguem já teve este problema com esta classe?

Marllon

Link to comment
Share on other sites

A principio eu usei, más ficou pior, ai dei uma olhada no fonte do TDosPrn e vi que ele faz internamente o StartPage e EndPage quando a linha sendo impressa for menor que a ultima linha e ai retirei da minha rotina a chamada a estes metodos, ficou melhor más não resolveu o problema.

citação:

Olá,

Vc esta usando o StartPage e EndPage ?


id=quote>id=quote>

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Link to comment
Share on other sites

O pior é que não tem como desativar, a não ser que eu altere o fonte da classe... más ai eu fico sem poder atualizar quando tiver alguma melhoria nela...

citação:

Olá,

Eu acho que é este motivo que ele esta fazendo isto, por ser automático


id=quote>id=quote>

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Link to comment
Share on other sites

Olá Marllon,

Verifique o tamano da var que está imprimindo, isso ocorre qdo vc manda imprimir em uma coluna cuja já esteja ocupada ex.:

cNome := Space(40)

oPrn:Say(nLi,01,cNome...)

oPrn:Say(nLi,40,"Teste"...)

Nesse caso o nome começa na 1 e vai até a 41, aí dá estouro de linha.

Abraços

Vagner Wirts

São Paulo-Brasil

Link to comment
Share on other sites

Ok Vagner, isto realmente acontece com esta classe original (TDosPrn), más não é o que estava causando o problema que eu estava tendo.

Em uma impressora, quando tentamos imprimir em uma coluna menor que a ultima impressa a impressao sai encavalada e não é executado um Eject, eu corrigi isto na classe TDosPrn que eu estou utilizando para que simule uma impressora realmente. Agora não estou tendo mais problema de impressao.

Valeu...

citação:

Olá Marllon,

Verifique o tamano da var que está imprimindo, isso ocorre qdo vc manda imprimir em uma coluna cuja já esteja ocupada ex.:

cNome := Space(40)

oPrn:Say(nLi,01,cNome...)

oPrn:Say(nLi,40,"Teste"...)

Nesse caso o nome começa na 1 e vai até a 41, aí dá estouro de linha.

Abraços

Vagner Wirts

São Paulo-Brasil


id=quote>id=quote>

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...