Canvas Does Not Allow Drawing Error
Hi,
I am working on an application which is used by over a thousand people.
Some of these people are running the app on a Mac using Citrix. Printing
reports in the app works fine for most people but some people get a Canvas
Does Not Allow Drawing error. These people are the ones using Macs. Do you
have any idea why this would be happening? I have looked at the code that
prints the report and there isn't anything out of the ordinary which could
cause this peculiar error. Hopefully someone can help me with this.
Richard
I am working on an application which is used by over a thousand people.
Some of these people are running the app on a Mac using Citrix. Printing
reports in the app works fine for most people but some people get a Canvas
Does Not Allow Drawing error. These people are the ones using Macs. Do you
have any idea why this would be happening? I have looked at the code that
prints the report and there isn't anything out of the ordinary which could
cause this peculiar error. Hopefully someone can help me with this.
Richard
This discussion has been closed.
Comments
what version of RB are you using? (I can't answer the question but I know
that that will be the first question they will ask).
Ed Dresssel
Team DM
I too have had this problem reported by my users when using
citrix/terminal servicces, only in our case they are using Windows, not
Macs. Its the same error message, but we have not been able to
reproduce it reliably. Sometimes it happens, sometimes it doesnt (my
favourite kind of error - not). It seems restarting the session
(logout, then back in - not a disconnect/reconnect as some users like to
do) can help sort it out.
Whenever ive had issues like this with citrix/terminal services, ive
tended to blame the nature of the virtual session and its "display
drivers", although i confess its pure guesswork and may have nothing to
do with it, sounds good when i tell my users however
But in my experiance terminal services/citrix has always been a pain
where printers are concerned. From not finding a clients printers to a
document never arriving at the selected printer. In fact, this is a
related problem with RB that i have seen in the past (ie within the same
session, RB wont print but outlook will), but again, I cant reproduce
this reliably, and its only within citrix/ts sessions.
Whenever i get a problem exposed in one terminal session and not
another, a clear out and recreation of the problem account usually sorts
it (not always, sometime the issue is "local"). Other problems related
to user permissions within the session (but these tended to be BDE related).
For the record, we are using RB6.02 (with delphi 6.02). Hope some of
this helps someone..
dave
This error indicates the either a valid printer driver cannot be accessed or
a valid printer device context cannot be created. Make sure that the users
(or the user account under which the application is executing) have full
access rights to the printer.
Below is some information on using Citrix that was contributed by one of our
customers. I do not think it is related to Macs at all. But perhaps worth
reading anyway.
Further to my recent email asking if you knew of any issues with RBuilder
running under Citrix you may find the following of interest for the future.
I've been going through Citix's site and have discovered a number of
hotfix's & service packs that may explain the behaviour of Borland Delphi
apps. In particular you might want to keep a reference to the following URL:
http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=6300349,U=1,ST
=70,N=0005,K=29701,SXI=19,Case=obj(19675)
The main point of interest is:
7. When running seamlessly, some applications built using the Borland
development environment, such as Delphi, sometimes allowed the parent window
of a dialog box to go to the foreground, leaving no mechanism to return the
dialog box to the foreground.
In a seamless session, the parent window can receive messages other than
mouse-oriented ones, like a focus change request from the ICA Client. The
parent window responds to the request and goes to the foreground.
This hotfix introduces a new seamless exception flag by which you can set
the following registry value to have the ICA Client always send the mouse
event messages to the server.
A. Set the following registry value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Citrix\wfshell\TWI
Value Name: SeamlessFlags
Value Type: REG_DWORD
Value: 0x400
B. Install the Citrix ICA Client, Version 6.31 or later.
The parent window of a dialog box no longer moves to the foreground to cover
the dialog box.
[From Hotfix XE102W026][#257632]
regards
Peter
--
Nard Moseley
Digital Metaphors
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
For anyone who is interested in what caused this error, one of our desktop
support staff members managed to solve if. Here is what caused it:
"After I reinstalled the Citrix client on the users Mac the printing failed.
To prove if it was her Mac or the server we tried printing from another Mac.
The printing from the second Mac was fine. So the problem was isolated to
her Mac. Decided to increase the memory allocation to the client and client
printing files. The printing was fine afterwards."
Thanks for your help on this.
Richard