Ir para conteúdo
  • Cadastre-se

dev botao

Problema em impressões sucessivas com pré-visualização


Juliano
  • Este tópico foi criado há 4741 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, está ocorrendo um problema na impressão sucessiva de DACTE, com pré-visualização, no Windows XP. Nos Windows Vista e 7 não ocorre este problema. Cosinderando o pseudo-código de exemplo abaixo:


while not eof then

    ShowMessage('Já impresso');

    CTE.Conhecimentos.Clear;

    CTE.Conhecimentos.LoadFromStream(stream);

    CTE.Conhecimentos[0].Imprimir;

end;

Na primeira iteração a mensagem é mostrada e a visualização da DACTE ocorre normalmente, contudo, na próxima iteração a mensagem já não é mostrada. Debugando, percebi que na segunda iteração o ActiveForm do Screen está apontando para o formulário de visualização do Quickreport, o que já, teoricamente, foi fechado e está invisível, com isso a referência da mensagem fica errada, e a mesma fica não visível. Imagino que seja problema relacionado com o QuickReport, tentei liberar a instância do QuickReport no formulário TfrmDACTeQR, contudo também não funcionou. A solução temporária que encontrei foi liberar o ActiveForm antes do ShowMessage, se ele for diferente do formulário atual. Nos Windows posteriores ao XP, o ActiveForm se mantém nulo após cada impressão, com isso funciona.

while not eof then

    if Screen.ActiveForm <> Self then

        Screen.ActiveForm.Free;

    ShowMessage('Já impresso');

    CTE.Conhecimentos.Clear;

    CTE.Conhecimentos.LoadFromStream(stream);

    CTE.Conhecimentos[0].Imprimir;

end;

Testei nas versões 5.04 e 5.05 do QuickReport, nas duas ocorreu o mesmo problema.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4741 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...