我们正在使用 Delphi 7 开发具有优势的数据库应用程序作为后端。我们的系统通常安装在windows服务器上,pc作为终端。所有设置和数据库都在服务器上。
我们在 Citrix 服务器上运行我们的软件时遇到问题。特别是印刷似乎是一个问题。在选择正确的打印机和报告格式方面。我们使用 Rbuilder 版本 10 来生成我们的报告,并将它们发送到斑马标签打印机,而不是标准的 Windows 打印机驱动程序。报告也是非标准尺寸的。我们看到的是页面上报告的拉伸和移动。
有没有人看到过类似的行为,或者对可能导致这种情况的原因有任何想法。
我们没有测试 Citrix 系统,因此很难测试。我们无法在普通的 Windows 环境中复制它。
3 回答
在 Citrix(和 Microsoft 终端服务器)上,打印机通常会在应用程序启动后“连接”起来。这会导致可能需要的打印机不在 Reportbuilder 打印机列表中。
当打印机使用以下代码更改时,我们通过强制 ReportBuilder 刷新列表来解决问题(附加到 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;
希望它能解决你的问题。
根据我的经验,Citrix 打印是一场噩梦。
您需要确保要使用的打印机作为本地打印机安装在 Citrix 服务器上,然后禁止为应用程序使用客户端打印机。这应该有助于正确使用打印机。
基本上,您需要确保可以从服务器控制台正确运行应用程序,然后尝试将其用作 Citrix 应用程序。
祝你好运。
看看这个链接,你可以得到一个评估版,但你也可以下载完整的 citrix 安装的虚拟机。顺便说一句,该产品现在称为 XenApp。