Print report to two printers - big problem
Hi folks!
I have a big problem to print report (from database) to two printers (restaurant and copy to kitchen).
One of them works perfect, but simultanous two make crash.
This code prepare data:
with DM.qrydruk_lines, SQL do // get lines begin Close; Clear; Add('select * from linie where bill=:bil; and storno=:storno order by id'); ParamByName('bill').AsInteger := main.bill_id; ParamByName('storno').AsBoolean := False; Open; First; end; with DM.qrydruk_bill, SQL do // get bill begin Close; Clear; Add('select * from bill where id=:id'); ParamByName('id').AsInteger := main.bill_id; Open; end;
This is my code to first print:
main.frxReport1.LoadFromFile('wydruki\zlecenie.fr3'); main.frxReport1.PrintOptions.ShowDialog := False; main.frxReport1.PrintOptions.Copies := 1; main.frxReport1.PrintOptions.Printer := main.Konfiguracja.drukarka_kuchenna; // name first printer main.frxReport1.SelectPrinter; main.frxReport1.PrepareReport; main.frxReport1.Print;
and this is code to second print:
main.frxReport1.PrintOptions.Printer := main.Konfiguracja.drukarkakuchennakopia; // name second printer main.frxReport1.SelectPrinter; main.frxReport1.Print;
I did short film to explain problem.
(second printer works slow but this is not fastreport fault - is little damaged. On new printer this works same)
Of course I tried a lot of ways (thread, timer) and if I wait after first print (aproximaly 200 ms for line) second print works. But this app is for restaurant and employes don't want wait :(.
This look like fastreport after first print demaged data for short time?
Do you know any solutions?
Regards
Robert
Comments
Try to use TfrxPreview.Print instead of main.frxReport1.Print;
Can I ask you for more details?
Maybe some code?