我做了以下所有的迁移,
在PowerBuilder应用程序中,我们正在做以下事情
像这样的功能是自动化的,我们正在使用该应用程序。这里是我们用来处理MS Office功能的OLE控件。
问题是
工作前3周,我的意思是以下代码。
ole_1.object.application.ActivePrinter = i_s_letterenvelops_printer
之后,他们将服务器转移到一个位置到另一个位置。
我也不知道我的开发机器..
在这种情况下,我该如何处理?
请帮我解决这个问题。
谢谢!
答案 0 :(得分:0)
打印机名称可能已更改?例如,我的网络打印机名称类似于PRINTER-NAME on SERVER-NAME
。还要注意它们是区分大小写的。在我们的应用程序中,我们在尝试使用它之前检查打印机名称是否存在。如果它不存在,我们会显示一条消息,告诉用户联系帮助台关于该打印机。您可以使用PrintGetPrinters
获取可用的打印机名称。
已添加20110629:
对于该应用程序,网络打印机名称类似于\\SERVER-NAME\PRINTER-NAME
。
一种快速检查方法是将此行放在您的应用程序中:
messagebox("PrintGetPrinters", printgetprinters(), Information!, OK!)
答案 1 :(得分:0)
我的情况是网络组最近将打印机配置文件更改为基于网络,导致应用程序无法创建PDF文件。 我电脑上的打印机列表与以前完全一样:
Send To OneNote 2010 winspool nul:
Microsoft XPS Document Writer winspool Ne00:
CutePDF Writer winspool CPW2:
Adobe PDF winspool Ne01:
\\otwww001\T01-001-HPLaserJet-4050 winspool Ne02:
这些打印机名称存储在一个数组中。问题是char(13)被神奇地添加到Adobe PDF行的末尾。为了解决这个问题,我在添加打印机之前删除了char(13)。
if right(ls_CurrentPrinter,1) = char(13) then
ls_CurrentPrinter =left(ls_CurrentPrinter,len(ls_CurrentPrinter) - 1)
end if
IF LEN(ls_CurrentPrinter) > 0 THEN
THIS.ufp_AddNewPrinter(ls_CurrentPrinter)
END IF
它解决了我的问题。
环境: - Windows 7 - PowerBuilder 12.6