Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Exception : Screen printer does not support printing

edited May 2007 in General
Hello,
on customer side there are sometimes the message "Screen printer does
not support printing".
I don't know what the customer has done and I have no reproducable
situation.
But what I want to know, in which cases RB 10 throws this exception and
how I can prevent it.
Best wishes
Bernhard

This is the call stack (created from MadExcept)

date/time : 2007-05-09, 11:30:33, 590ms
computer name : DP2
user name : dispo2
operating system : Windows XP Service Pack 2 build 2600
system language : German
system up time : 3 hours 21 minutes
program up time : 3 hours 17 minutes
processors : 2x Intel(R) Pentium(R) D CPU 2.80GHz
physical memory : 557/1014 MB (free/total)
free disk space : (C:) 67,42 GB
display mode : 1280x1024, 32 bit
process id : $c88
allocated memory : 37,11 MB
executable : ZeitarbeitDeluxe.exe
exec. date/time : 2007-04-18 16:04
version : 2006.100.0.558
madExcept version : 3.0b
callstack crc : $0bba12ed, $7e7261f0, $97ae1a71
exception number : 1
exception class : EPrintError
exception message : Screen printer does not support printing.

main thread ($f34):
0058e1e7 +083 ZeitarbeitDeluxe.exe ppPrintr TppCustomPrinter.GetDC
0058ed12 +026 ZeitarbeitDeluxe.exe ppPrintr
TppCustomPrinter.GetPixelsPerInch
0058c0bf +013 ZeitarbeitDeluxe.exe ppPrintr
TppPrinterCanvas.UpdateDeviceContext
0058de71 +075 ZeitarbeitDeluxe.exe ppPrintr TppCustomPrinter.ResetDC
0058dc28 +05c ZeitarbeitDeluxe.exe ppPrintr TppCustomPrinter.BeginDoc
00598c53 +02b ZeitarbeitDeluxe.exe ppPrnDev TppPrinterDevice.StartJob
006880fe +0ce ZeitarbeitDeluxe.exe ppDevice TppPublisher.TakeDeviceAction
006882f6 +006 ZeitarbeitDeluxe.exe ppDevice TppPublisher.StartJob
0067d62e +052 ZeitarbeitDeluxe.exe ppProd TppProducer.InitializeReport
006a5d3b +00f ZeitarbeitDeluxe.exe ppReport
TppBandedReport.InitializeReport
0067d6df +047 ZeitarbeitDeluxe.exe ppProd TppProducer.PrintToDevices
006a707d +07d ZeitarbeitDeluxe.exe ppReport TppReport.PrintToDevices
0067e31e +002 ZeitarbeitDeluxe.exe ppProd
TppProducer.CancelDialogShowModalEvent
00589606 +022 ZeitarbeitDeluxe.exe ppForms
TppCustomCancelDialog.TimerEvent
0049ba6b +01b ZeitarbeitDeluxe.exe ExtCtrls 1649 +1
TTimer.Timer
0049b8d7 +02f ZeitarbeitDeluxe.exe ExtCtrls 1607 +4
TTimer.WndProc
0047f0ec +014 ZeitarbeitDeluxe.exe Classes 10966 +8
StdWndProc
7e3696c2 +00a user32.dll DispatchMessageA
00519510 +0ac ZeitarbeitDeluxe.exe Forms 6873
+13 TApplication.ProcessMessage
00519557 +00f ZeitarbeitDeluxe.exe Forms 6892 +1
TApplication.HandleMessage
00515268 +15c ZeitarbeitDeluxe.exe Forms 4823
+24 TCustomForm.ShowModal
005895db +01b ZeitarbeitDeluxe.exe ppForms
TppCustomCancelDialog.ppShowModal
0067db72 +366 ZeitarbeitDeluxe.exe ppProd TppProducer.PrintToPrinter
0067d5b5 +045 ZeitarbeitDeluxe.exe ppProd
TppProducer.PrintWithSameParameters
006810f0 +11c ZeitarbeitDeluxe.exe ppViewr TppViewer.Print
00bfcde9 +02d ZeitarbeitDeluxe.exe ReportAusfuehrenVorschau 100 +2
TFormReportAusfuehrenVorschau.ButDruckenClick
004f0cbe +086 ZeitarbeitDeluxe.exe Controls 4705 +9
TControl.Click
004a34a6 +00a ZeitarbeitDeluxe.exe Buttons 1159 +1
TSpeedButton.Click
004a3487 +10f ZeitarbeitDeluxe.exe Buttons 1152
+25 TSpeedButton.MouseUp
004f11c5 +041 ZeitarbeitDeluxe.exe Controls 4831 +2
TControl.DoMouseUp
004f124c +07c ZeitarbeitDeluxe.exe Controls 4843 +8
TControl.WMLButtonUp
004f0a93 +1df ZeitarbeitDeluxe.exe Controls 4645
+53 TControl.WndProc
00542b9e +00e ZeitarbeitDeluxe.exe DB 7346 +1
TDataLink.DataSetChanged
00542b38 +10c ZeitarbeitDeluxe.exe DB 7322
+19 TDataLink.DataEvent
005517d8 +018 ZeitarbeitDeluxe.exe DBCtrls 1591 +1
TFieldDataLink.DataEvent
0053a22d +0a9 ZeitarbeitDeluxe.exe DB 3667 +8
TField.GetData
0053c881 +019 ZeitarbeitDeluxe.exe DB 4626 +2
TIntegerField.GetValue
00aba4af +09b ZeitarbeitDeluxe.exe SUControls 5995 +5
TSUTable.RecordChanged
004f079e +036 ZeitarbeitDeluxe.exe Controls 4552 +5
TControl.Perform
004f0a93 +1df ZeitarbeitDeluxe.exe Controls 4645
+53 TControl.WndProc
004f43c8 +034 ZeitarbeitDeluxe.exe Controls 6237 +3
TWinControl.MainWndProc
004f079e +036 ZeitarbeitDeluxe.exe Controls 4552 +5
TControl.Perform
004f4650 +0a8 ZeitarbeitDeluxe.exe Controls 6301
+15 TWinControl.IsControlMouseMsg
004f475c +0f4 ZeitarbeitDeluxe.exe Controls 6327
+18 TWinControl.WndProc
004f43c8 +034 ZeitarbeitDeluxe.exe Controls 6237 +3
TWinControl.MainWndProc
0047f0ec +014 ZeitarbeitDeluxe.exe Classes 10966 +8
StdWndProc
7e3696c2 +00a user32.dll DispatchMessageA
00519510 +0ac ZeitarbeitDeluxe.exe Forms 6873
+13 TApplication.ProcessMessage
00519557 +00f ZeitarbeitDeluxe.exe Forms 6892 +1
TApplication.HandleMessage
00515268 +15c ZeitarbeitDeluxe.exe Forms 4823
+24 TCustomForm.ShowModal
0067d7e4 +05c ZeitarbeitDeluxe.exe ppProd TppProducer.PrintToScreen
0067d540 +050 ZeitarbeitDeluxe.exe ppProd TppProducer.Print
006a62d2 +01e ZeitarbeitDeluxe.exe ppReport TppReport.Print
0102828c +584 ZeitarbeitDeluxe.exe ReportAusfuehren 5145
+86 TFormReportAusfuehren.AusgabeReportBuilder
0102936d +86d ZeitarbeitDeluxe.exe ReportAusfuehren 5306
+68 TFormReportAusfuehren.AusgabeReport
00ca5d86 +0f6 ZeitarbeitDeluxe.exe SchriftverkehrVorlagenReport 438
+12 TFrameSchriftverkehrVorlagenReport.AusfuehrenReport
00ca9380 +10c ZeitarbeitDeluxe.exe SchriftverkehrVorlagenReport 930
+11 TFrameSchriftverkehrVorlagenReport.ButSchnellansichtClick
004f0ce9 +021 ZeitarbeitDeluxe.exe Controls 4710 +1
TControl.DblClick
006b4bc7 +033 ZeitarbeitDeluxe.exe DBGrids 3460 +4
TCustomDBGrid.MouseDown
004f0dcd +091 ZeitarbeitDeluxe.exe Controls 4728 +7
TControl.DoMouseDown
004f0ec1 +059 ZeitarbeitDeluxe.exe Controls 4752 +5
TControl.WMLButtonDblClk
004f0a93 +1df ZeitarbeitDeluxe.exe Controls 4645
+53 TControl.WndProc
004f47f6 +18e ZeitarbeitDeluxe.exe Controls 6342
+33 TWinControl.WndProc
004f43c8 +034 ZeitarbeitDeluxe.exe Controls 6237 +3
TWinControl.MainWndProc
0047f0ec +014 ZeitarbeitDeluxe.exe Classes 10966 +8
StdWndProc
7e3696c2 +00a user32.dll DispatchMessageA
00519510 +0ac ZeitarbeitDeluxe.exe Forms 6873
+13 TApplication.ProcessMessage
00519557 +00f ZeitarbeitDeluxe.exe Forms 6892 +1
TApplication.HandleMessage
005197f2 +0a6 ZeitarbeitDeluxe.exe Forms 6976
+16 TApplication.Run
0104ff91 +9d1 ZeitarbeitDeluxe.exe ZeitarbeitDeluxe 635
+127 initialization

Comments

  • edited May 2007
    Now I've made some tests and I find the following facts :

    1. It happens in my own Preview and the default preview (from RB) if I'm
    showing the preview and then press the Print button. I get the printer
    setup and choose an existing printer and press 'Print'. After this the
    exception occurs.

    This is the code in my own Preview (but it happens also in the default
    Preview) :

    if (not tppReport(Report).Printing) then begin
    tppReport(Report).ShowPrintDialog := True;
    tppReport(Report).AllowPrintToFile := False;
    tppReport(Report).DeviceType := dtPrinter;
    tppReport(Report).Print;
    end
    else begin
    SUInfo(M_REPAUSVOR_SCHNELLANSICHTNOCHNICHTGENERIERT);
    end;

    2. The exception raises in GetDC of ppPrintr.pas, because RB thinks, I'm
    using the PrinterName='Screen' of tppReport(Report).Printer. But this
    isn't correct. I've changed the DeviceType gut the PrinterName is still
    'Screen'. I don't understand this.

    3. The printer is printing although the exception is raising.

    I don't know what I can do to solve this problem.

    Best wishes
    Bernhard




    Bernhard Roos schrieb:
  • edited May 2007
    After I restart my computer the problem disappears.
    But what was the reason for the problem? Sometimes our customers have
    the same problem.
    Best wishes
    Bernhard

    Bernhard Roos schrieb:
  • edited May 2007
    Hi Bernhard,

    1. Be sure you are using the latest version of ReportBuilder (10.06).

    2. This error indicates that there is no printer installed on the computer
    and the user tried to print. Check to be sure you user has a printer
    installed and that it is working correctly. Also, when printing, be sure
    the name of the printer is located in the printers drop down box located
    inside the Printer dialog.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited May 2007
    Hello,
    there is a printer installed. I had the same problem yesterday on my
    machine. It happens from time to time. There isn't reproducable.
    But I've made a little change in ppPrintr.pas.
    In GetDC in the line "raise ..." I've made only a silent exception with
    "abort".
    The reason is, that the printer prints the report although the exception
    raises.
    For some reason GetDC is called two times. The second call fails. I have
    no idea why GetDC is called two times. But with my changes all works fine.
    Best wishes
    Bernhard

    Nico Cizik (Digital Metaphors) schrieb:
  • edited May 2007
    Nico,


    Just FYI, I have a couple of customers reporting this as well, so what
    Bernhard is seing is NOT unique. In our customers situation, the printer is
    installed, does show up in the printer selection list, but randomly throws
    the Screen printer does not support printing after several prints.

    I'm currently running 10.05, but you mentioned to Bernhard that he should be
    using 10.06. Is there a change in 10.06 that would potentially correct
    this?

    --

    ---------------------------------------
    Terry Swiers
    Millennium Software, LLC
    http://www.1000years.com
    http://www.atrex.com

    Atrex Inventory Control/POS -
    Big business features without spending big business bucks!

    Atrex Electronic Support Options:
    Atrex Knowledgebase: http://www.atrex.com/atrexkb.asp
    Email: mailto:support@atrex.com
  • edited May 2007
    Hi Terry,

    Thanks for the info. We understand that there is an issue for some
    machines\setups however it is next to impossible for us to track something
    down that we cannot recreate on our own machines. I would definitely
    suggest upgrading to RB 10.06 and making sure your users are using the
    latest printer driver available for the printer they are using. If this
    does not fix the problem, try to isolate when and where the problem is
    occuring so we can find a solution for you.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.