views:

262

answers:

3

We are using Delphi 7 to develop database apps with advantage as a backend. Our system is usually installed on the windows server with the pcs acting as terminals. All the settings and database are on the server.
we are having problems running our software on Citrix servers. In particular printing seems to be an issue. Both in selecting the right printer and in the formatting of the report. We use Rbuilder version 10 to produce our reports and they are sent to a zebra label printer so not a standard windows printer driver. The reports are also of a non-standard size. things we are seeing are stretching and shifting of the report on the page.
Has anybody seen similar behavior or has any idea of what might be causing this.
we don't have a test Citrix system so it is hard to test. We can't replicate it in a normal windows environment.

A: 

Take a look at this link, you can get an evaluation version but you can also download virtual machines with complete citrix installation in it. Btw the product is called XenApp nowadays.

Remko
A: 

In my experience, Citrix printing is a nightmare.

You'll want to make sure the printer you want to use is installed as a local printer on the Citrix server, then disallow use of client printers for the application. That should help getting the printer right.

Basically, you'll want to make sure you can run the application properly from the server console, then try to use it as a Citrix app.

Good luck.

Phil Hayward
+1  A: 

On Citrix (and Microsoft Terminal Server), printers often gets "attached" after the application starts. This causes that the printer that might be nedded isent in the Reportbuilder printer list.

We have solved the problem by forcing ReportBuilder to refresh the list, when printers change using the following code (Attached to Application.OnSettingChange)

procedure TMainForm.ApplicationEventsSettingChange(Sender: TObject;
Flag: Integer; const Section: string; var Result: Integer);
begin
if uppercase(Section) = 'DEVICES' then
begin
ppPrintr.ppPrinters.Refresh;
end;
end;

Hope it solves your problem.

BennyBechDk
This seems like it could be handy and solves part of the problem we are having with printers in citrix. will definetly add it to my code. However it doesn't solve the formatting issues we are seeing. Basically the labels become stretched to a much larger size than we set in the report. It doesn't affect every log in or every application. The stretching effect seems to be random. Could the printer driver or local/ network printer settings be overwriting the settings for page size in the report format.
delphigirl