ERRO 486 OU 482 USANDO O PRINTFORM

KNILSSON 06/05/2015 10:39:38
#446413
Olá para todos!

Estou com problemas ao usar o PRINTFORM para imprimir formulários: as vezes ocorre o erro 486 ou 482 quando mando imprimir. Não é sempre que aparece este erro e até agora sempre que apareceu tinha imagens para imprimir no formulário.
Alguém já teve este problema também ? Sabe como resolver ?

Agradeço desde já a qualquer informação que vocês puderem fornecer!
TUNUSAT 07/05/2015 08:46:56
#446448
KNILSSON,

Estava passeando pela internet e achei um documento da microsoft explicando o problema:
-----------------------------------------
https://support.microsoft.com/pt-br/kb/242483/pt
-----------------------------------------
Erro em tempo de execução [ô]482[ô]: Erro de Impressora
Erro de tempo de execução [ô]486[ô]: não é possível imprimir a imagem do formulário para este tipo de impressora
Erro da impressora
-----------------------------------------

Existem algumas formas de resolver, mas a que eu acho mais plausível é instalando o Service Pack 6 do VB6.

-----------------------------------------

Resolução +/-:

Pode contornar este problema não utilizando PrintForm e em vez disso, que utilizem o código de API do WIN32. Consulte a secção de referências abaixo para obter descrições destes métodos.
Em execução no Windows NT ou Windows 2000
•A chamar o método EndDoc depois da chamada para PrintForm corrige o problema.
Em execução no Windows 95, Windows 98 ou Windows Me
•Chamar o método de EndDoc antes da chamada para PrintForm saias o problema, mas quaisquer definições efectuadas no objecto de impressora são perdidas. Isto significa que PrintForm utiliza as definições da impressora predefinida actual. Este era o comportamento antes do Visual Basic 6.0.
•Utilize o controlo de diálogo comum para alterar propriedades da página em vez de atribuições directas para as propriedades do objecto de impressora.

-----------------------------------------

Passos para reproduzir o comportamento

1.Crie um novo projecto EXE padrão.
2.Adicione o seguinte no módulo do Form1:
Private Sub Form_Click()
Printer.Orientation = vbPRORPortrait
PrintForm
Printer.Orientation = vbPRORLandscape
PrintForm
End Sub

3. Execute o projecto e clique no formulário. Ocorre o erro (s). Se estiver a executar no Windows 95 ou Windows 98, isto ocorre na primeira chamada PrintForm . Os erros ocorrem na segunda chamada quando estiver a executar o Windows NT ou Windows 2000.

-----------------------------------------

[][ô]s,
Tunusat.
KNILSSON 14/05/2015 10:21:16
#446629
Já tentei usar o EndDoc, mas não funcionou.
Alguém tem mais alguma sugestão ?
KNILSSON 24/07/2015 14:37:08
#449197
Ainda não consegui resolver esse problema (erro 482). Já tentei a solução descrita no site da Microsoft, mas não adiantou, se alguém tiver mais alguma ideia por favor coloque neste tópico.

Obrigado!
KNILSSON 26/07/2015 13:29:51
#449238
Descobri uma coisa: no form que eu quero imprimir possui textos e imagens. Se eu deixar só os textos a impressão sai normal. Só dá erro quando eu coloco as imagens.
E não todo form que dá erro, parece que só os que tem muitas imagens (estou imprimindo um catalogo de produtos com 5 linhas e 5 colunas).
O que será que está acontecendo!
Faça seu login para responder