Canvas error
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
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
This discussion has been closed.
Comments
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.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
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
feri
12/7/2011 3:51 PM keltezéssel, Nico Cizik (Digital Metaphors) írta:
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?
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com