OpenEdge 10.2A中load_df.p加载对象如何屏蔽警告并持续执行?
解决Progress load_df.p加载DF时的确认警告屏蔽问题
我之前也碰到过一模一样的情况——明明已经设置了忽略错误提交的参数,结果还是弹出那个打断流程的确认对话框。下面几个方法应该能帮你彻底屏蔽这个提示,让load_df.p自动完成加载:
方法1:添加静默参数(优先尝试)
部分版本的Progress中,load_df.p其实支持第四个参数来启用静默模式,直接跳过所有交互式确认。你可以修改RUN语句试试:
RUN prodict/load_df.p ("c:\temp\delta.df", "yes", "NEW OBJECTS", "silent").
这个参数会告诉程序自动确认所有提交类提示,完全不需要人工干预。
方法2:以批处理模式启动Progress
如果上面的参数不管用,你可以在启动Progress会话时加上-batch命令行参数。这个参数会让Progress进入非交互式模式,所有需要用户确认的对话框都会自动选择默认选项(这里就是自动确认提交)。
比如启动Progress的命令可以改成:
prowin32.exe -batch -p your-main-program.p
这样整个会话内运行load_df.p时,就不会弹出任何确认窗口了。
方法3:模拟用户输入(兜底方案)
如果前两种方法都不适用,你可以通过重定向输入来自动响应确认提示:
- 先创建一个临时文本文件(比如
confirm.txt),里面只写一个y(代表确认提交); - 在调用
load_df.p前设置INPUT重定向到这个文件:
INPUT FROM VALUE("c:\temp\confirm.txt"). RUN prodict/load_df.p ("c:\temp\delta.df", "yes", "NEW OBJECTS"). INPUT CLOSE.
这样程序弹出确认对话框时,会自动读取文件里的y完成确认,全程无弹窗。
不同版本的Progress对load_df.p的参数支持可能略有差异,优先试方法1,不行再用方法2或3,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者aza
相关产品推荐
相关产品推荐

