打印时"操作不受支持"和"打印机选择无效"错误

vra*_*rad 11 printing delphi

希望有人能够提供帮助.在我的Delphi 7应用程序中,有一小部分用户在打印时报告错误,而我正试图用最后一个解决这个问题.我在测试方面略有限制(因为用户距离很远,我们正在通过电子邮件进行处理),但我从EurekaLog获得了一些额外的信息.

无论如何,他得到的第一个错误是"在选定的打印机上不支持操作",在这行代码中:

Printer.Orientation := AOrientation;
Run Code Online (Sandbox Code Playgroud)

所以,我认为他的打印机不支持Orientation(我从来没有听说过这个,但我想这是可能的)并尝试没有这行代码.但现在他在这一行得到"打印机选择无效":

Result := Printer.PageWidth / GetDeviceCaps(Printer.Handle, LOGPIXELSX);
Run Code Online (Sandbox Code Playgroud)

据我所知,打印机是正确选择的(它是佳能Pixma iP1500,但其他用户有其他型号,喷墨或激光),他已经尝试更新驱动程序.操作系统也各不相同 - 从XP到Vista SP1).

我建议他尝试使用另一台打印机,但无论他做出什么回应,我都不知道接下来要去哪儿.谷歌搜索没有给出任何有用的结果(至少对我而言).有没有人有想法?

提前致谢!

Too*_*the 2

您说一小部分用户报告了问题。您知道这些用户与其他用户有什么区别吗?

想想:

  • 二手打印机
  • 打印机驱动程序(版本)
  • 使用的操作系统,包括补丁和更新(不要忘记 IE 更新)
  • 您的软件版本
  • 其他安装的软件

用户在使用其他应用程序时是否遇到打印问题?

如果您能够重现该问题,那将是一个很大的帮助。