Fórum printersetup, cancelar impressão? #262603
18/12/2004
0
na execução do relatório faço isso
Fimpchequesolto.QuickRepchequesolto.Prepare;
Fimpchequesolto.QuickRepchequesolto.printersetup;
Fimpchequesolto.QuickRepchequesolto.Print;
só que nao da pra cancelar a impressão depois de executado o printersetup, ja tentei tambem com o printdialog e tambem não deu certo, alguem sera que tem alguma solução pra isto???
desde ja agradeço.....
quickReport
delphi 7.0
firebird
Marcusbraga
Curtir tópico
+ 0Posts
18/12/2004
Vinicius2k
O que ocorre é que em nenhum momento vc está orientando para que a impressão seja cancelada... O dialogo de setup da impressora no QuickReport não é uma função com retorno e sim uma procedure, logo, vc não pode testar retorno.
Não sei se seria possível para vc utilizar os dialogos da própria VCL, pq com estes vc poderia trabalhar como deseja. Por exemplo:
Fimpchequesolto.QuickRepchequesolto.Prepare; if PrinterDialog1.Execute then Fimpchequesolto.QuickRepchequesolto.Print;
ou
Fimpchequesolto.QuickRepchequesolto.Prepare; if PrinterSetupDialog1.Execute then Fimpchequesolto.QuickRepchequesolto.Print;
Talvez vc possa adaptar seu código (se é que é necessária alguma adaptação -- não sei pq não trabalho com o QR) para deixar de usar os diálogos do QR.
Espero ter ajudado...
T+
Gostei + 0
19/12/2004
Marcusbraga
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o
printdialog.execute
ja tentei no evento beforeprint, afterpreview
e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview
Gostei + 0
19/12/2004
Marcusbraga
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o
printdialog.execute
ja tentei no evento beforeprint, afterpreview
e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview
Gostei + 0
19/12/2004
Marcusbraga
no exemplo acima é testado, para quando a caixa de dialogo for aberta ele começa a imprimir,
mas onde coloco o
printdialog.execute
ja tentei no evento beforeprint, afterpreview
e nos dois eventos se dou um preview antes ele ja mostra a caixa de dialogo e neste caso ele ja iria imprimir no comando preview
Gostei + 0
19/12/2004
Vinicius2k
Como eu disse, não trabalho com o QR, então, não posso lhe ajudar especificamente com ele. Mas pelo que pude perceber, para que vc consiga o resultado desejado, o caminho *deve* ser não utilizar nenhum evento ou procedure dele e controlar tudo manualmente.
No exemplo que lhe dei, o código seria colocado em uma ação, um botão, por exemplo, que chamasse a impressão, mas não estou contando que exista um preview antes da impressão... foi só um exemplo, que *talvez* vc possa utilizar...
T+
Gostei + 0
19/12/2004
Adilsond
Fimpchequesolto.QuickRepchequesolto.Prepare; Fimpchequesolto.QuickRepchequesolto.printersetup; Fimpchequesolto.QuickRepchequesolto.Print;
Então utilizando o que Vinicius2K disse mude para:
begin with Fimpchequesolto do begin if PrinterDialog1.Execute then begin QuickRepchequesolto.Prepare; QuickRepchequesolto.Print; end; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)