Home Devices
New Blog Post: Email: Multi-Service

Canvas error

edited December 2011 in Devices
Dear Developers,

we are developing a ticketing system and generating tickets (pdfs) in an
application server. I was looking for a solution in these groups of
course, but really not found, so I would like to ask.

I understand that there should be a printer installed on the machine
where the report builder is generating reports. I tried the 'SCREEN'
first time report was generated, but after it 'Canvas does not allow...'
I know that if I run the application server as a system service then it
cannot use screen because SYSTEM user has no right to use it. I run the
program as an application (not service) and under my account (FERI) but
the result is the same (When using SCREEN) So i will try other.

If I install a printer (or a virtual printer) on my machine and set up
the printer name to 'DEFAULT' for the Report builder and run the program
as a simple application (not service) then everything is ok!

If I run the program as a service under SYSTEM account, firt time report
is generated but then Canvas does not allow... everyone has full right
to this printer. I put SYSTEM user directly to the users who can use it.
Not good.

If i change the user from SYSTEM to my account, then ok.

So it works like when i used the SCREEN printer.

My question is: If i have a normal printer installed on the machine, why
I cannot generating PDF report only one time (SYSTEM account). Then I
have to restart service.

Windows 7 Professional, Delphi XE, RB 12.02 Build 279

thank you very much for your help

best regards

Ferenc Nemeth


  • edited December 2011
    Hi Ferenc,

    1. Please upgrade your version of ReportBuilder to 12.05. We made some
    changes to the PDF device removing some of the reliance on printer
    drivers. Contact info@digital-metaphors.com with your serial number for
    upgrade instructions.

    2. If the report exports correctly under your user account and not under
    the system account, there is still likely an access issue. In any case
    there must be something different between the two accounts that is
    causing the error in one.

    Best Regards,

    Nico Cizik
    Digital Metaphors
  • edited December 2011

    thank you very much for your response.

    I have the 12.05. version and some newer too, so I can try it.

    The difference between the two users SYSTEM and MayAccount is that
    SYSTEM account has no right to the SCREEN object. I do not know why PDF
    device wants to use SCREEN, because I installed a real printer to the
    server and I give it to the Report Builder.

    best regards


    12/7/2011 3:51 PM keltezéssel, Nico Cizik (Digital Metaphors) írta:
  • edited December 2011
    Hi Feri,

    The PDF device needs to use a TCanvas in many cases to measure
    components and text. In order to do this, the TCanvas needs a device
    context which defaults to the screen if there is no printer installed.

    I'm interested to know where the error is occurring. Are you able to
    trace into the RB source when the error happens?

    Best Regards,

    Nico Cizik
    Digital Metaphors
This discussion has been closed.