Impression sur le serveur citrix
-
19-09-2019 - |
Question
Nous utilisons Delphi 7 pour développer des applications de base de données avec avantage en tant que back-end. Notre système est généralement installé sur le serveur Windows avec les PC agissant comme bornes. Tous les paramètres et la base de données sont sur le serveur.
nous avons des problèmes en cours d'exécution de notre logiciel sur les serveurs Citrix. Dans l'impression particulière semble être un problème. Les deux dans le choix de l'imprimante à droite et dans la mise en forme du rapport.
Nous utilisons la version Rbuilder 10 pour produire nos rapports et ils sont envoyés à une imprimante d'étiquettes Zebra donc pas un standard de Windows pilote d'imprimante. Les rapports sont également d'une taille non standard.
les choses que nous voyons sont Stretching et décalage du rapport sur la page.
Quelqu'un at-il vu un comportement similaire ou a une idée de ce qui pourrait être la cause.
nous ne disposons pas d'un système de test Citrix il est donc difficile à tester. Nous ne pouvons pas le reproduire dans un environnement Windows normal.
La solution
Citrix (et Microsoft Terminal Server), les imprimantes a souvent "attachés" après l'application démarre. Ceci fait que l'imprimante pourrait être nedded isent dans la liste des imprimantes ReportBuilder.
Nous avons résolu le problème en forçant ReportBuilder pour actualiser la liste, lorsque les imprimantes changent en utilisant le code suivant (Attenant à 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;
Je espère que cela résout votre problème.
Autres conseils
Dans mon expérience, l'impression Citrix est un cauchemar.
Vous voulez vous assurer que l'imprimante que vous souhaitez utiliser est installé comme une imprimante locale sur le serveur Citrix, puis interdire l'utilisation des imprimantes clientes pour l'application. Cela devrait aider à obtenir le droit de l'imprimante.
En gros, vous voulez vous assurer que vous pouvez exécuter l'application correctement à partir de la console du serveur, puis essayez de l'utiliser comme une application Citrix.
Bonne chance.