LHR 0 Denunciar post Postado Novembro 14, 2008 Eu novamente :mellow: Tentei pesquisar antes de vir perguntar, mas realmente nao consegui realizar essa tarefa. Meu problema é o seguinte: Possuo um relatório de Quickreport, que será dado o Preview e entao quando a pessoa clicar em IMPRIMIR, ele vai automaticamente (sendo como uma segunda impressão), trocar a impressora (escolher a impressora que gera PDF's) e mandar imprimir tambem. Eu consegui fazer a seleção de impressora e tudo mais. Porem nao consigo fazer com que ele imprima essa segunda vez. O código está assim: procedure TFrmRelConsertoRel.QuickRep1AfterPrint(Sender: TObject); var impressoras : TStrings; cont, printindex : integer; begin impressoras := Printer.Printers; For cont:=0 to impressoras.Count-1 Do If impressoras[cont] = '\\servidor\PDFCreator' then printindex:=cont; while QuickRep1.QRPrinter.Status <> mpBusy do begin with QuickRep1.PrinterSettings do if PrinterIndex <> printer.printerIndex then PrinterIndex := printindex; QuickRep1.QRPrinter.Print; ///PROVAVEL ERRO, ESTÁ AQUI?! //enviaemail; end; end; No entanto não estou conseguindo. O que pode estar errado? Obrigado desde já. Até mais!!! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 14, 2008 É gerada alguma mensagem de erro? Compartilhar este post Link para o post Compartilhar em outros sites
LHR 0 Denunciar post Postado Novembro 14, 2008 Na verdade ele nao imprime a segunda vez. Apenas a primeira. Ae tentei agora fazer o seguinte, colocar isso no BeforePrint: impdefault:=QuickRep1.PrinterSettings.PrinterIndex; impressoras := Printer.Printers; For cont:=0 to impressoras.Count-1 Do If impressoras[cont] = '\\servidor\PDFCreator' then printindex:=cont; with QuickRep1.PrinterSettings do if PrinterIndex <> printer.printerIndex then PrinterIndex := printindex; QuickRep1.QRPrinter.Print; E isso no AfterPrint: QuickRep1.PrinterSettings.PrinterIndex := impdefault; QuickRep1.QRPrinter.Print; Ae dessa forma, ele imprime na impressora secundária apenas, e dá um erro de EXCEPTION ADRESS...etc Complicado =/ Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Novembro 18, 2008 Estava lendo seu problema aqui e pensei no seguinte... não seria mais interessante você controlar o evento de impressão num botão em separado, desabilitando a impressão direta do quickreport e colocando neste botão (que poderia ser um form para impressão desde relatório específico) os comandos para imprimir nos dois formatos, retirando isto de dentro dos eventos do quickreport? Seria algo do tipo: 1) Preview 2) Clica no botão especial 3) Imprime com impressora 1; 4) Seleciona impressora 2; 5) Reimprime com impressora 2 Não sei se existe maneira de você imprimir direto em 1 só clique dentro do quickreport em duas impressoras.. lembro que em casos assim eu usava, num passado distante, o Fortes Report... e nele eu habilitava os filtros e a pessoa imprimia o mesmo relatório nos formatos que quizesse, dispensando uma impressão como esta que quer fazer... []'s Compartilhar este post Link para o post Compartilhar em outros sites