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

Canvas Does Not Allow Drawing Error

edited October 2003 in General
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

Comments

  • edited October 2003
    Richard:

    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
  • edited October 2003
    richard plimmer wrote:


    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
  • edited October 2003

    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
  • edited October 2003
    Hi,

    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

This discussion has been closed.