Crystal Reports (Photo credit: Wikipedia)
Recently I discovered a small ‘bug’ in Crystal Reports XI (CRXI)(v.11.5.8.826) when using dual monitors. I repeatedly tried to edit a report—any report—and each time I did, I received a message that something had gone wrong and that Crystal Reports had stopped working.
Unfortunately, an Internet search of the issue did not produce any really valuable results that looked like they might lead to a resolution. The good news is that one of my colleagues had been at a client site where they had had a similar experience, so he asked me, “Are you using dual monitors?”
Bingo! That was the answer.
As soon as I dragged my Crystal Reports Designer screen back onto my primary monitor, things started working for me without a problem.
More to it than meets the eye
After further consideration, however, I thought there is likely more to the matter than just the use of dual monitors. After all, I said to myself, there must be thousands of Crystal Reports users out there today working with dual monitors.
So, I decided to dig a little deeper.
My dual-monitor arrangement is a little bit non-standard. My monitors are arranged like this:
My primary monitor [1] is my laptop’s screen when it’s docked on my desk. My secondary monitor is mounted to the left of my docked laptop. And, so that I don’t have to keep reversing things in my mind, I’ve told my system this is how they are arranged. That way, I can drag from right-to-left or left-to-right and my pointer flows continuously from screen to screen, just as logic would dictate.
However, since the Windows operating system calculates the position of objects on an X-Y coordinate system where the upper left-hand corner of the primary monitor is 0,0 (X, or the horizontal coordinate, equals zero; and Y, or the vertical coordinate, also equals zero), that means that when my monitors are arranged in this way, everything on my secondary monitor is addressed by windows using negative values for the X-coordinate.
I thought this might have something to do with Crystal Reports being unable to handle object positioning operations being carried out in the Designer where negative screen addresses were involved.
So, I did a little experiment.
I temporarily arranged my monitors like this:
My secondary monitor [2] was now to the right of my primary monitor and all screen addresses would now have positive X-coordinate value.
Would CRXI be able to handle working on my secondary monitor now?
Sure enough!
The problem CRXI was having appears to have been related to not being able to use the negative X-coordinate values when calculating and storing the relative position of data field objects being placed on the report designer screen.
Anyone using multiple monitors with CRXI should keep this in mind.
---------------------------------------------------------------------
We would be delighted to hear from you if this article was helpful to you. Please leave your comments here, or feel free to contact us directly, if you prefer that method.