问题很可能是由您编写的代码中的无限循环(或一些超繁重的计算,需要一段时间才能执行)引起的,而不是由标准功能引起的,这意味着我们真的不能在不知道代码的情况下帮助您。
现在解决您的问题。
您可能会在 3 个地方中的 1 个地方找到您的问题(使用基本的调试技术):
[PDF 表单脚本]
如果您有任何以 PDF 形式编写的脚本,我建议您使用干净(空的新表单,具有相同的测试界面)。PDF 表单脚本调试需要自己的问题,我不在这里讨论。
如果您编写了 pdf 表单脚本,请使用干净的表单启动程序,看看它是否仍然卡住。如果没有 - 问题出在您的脚本中,如果有 - 继续下一步。
[PRINTING PROGRAM] 如果您使用自己的(非标准)打印程序调用 PDF 功能模块,请在 PDF 功能模块调用和job close 功能模块的调用上放置断点.
启动程序并查看是否调用了 PDF 表单的功能模块和 job close 功能模块(我假设它会调用,因为您会看到打印弹出窗口)。如果两者都没有被调用,那么在进入 pdf 功能模块之前,您就有了一个无限循环。如果 PDF FM 被多次调用,但不是 job close 一次,则您的 pdf 函数模块处于无限循环中。如果两者都被调用,则问题不在程序中。
[FORM INTERFACE]如果您的界面代码中有任何逻辑,请在界面代码的末尾放置断点(通过在代码中写入break-point)。
当你运行程序时,最后的断点应该被触发。 (如果没有 - 在您的界面中查找循环/长时间运行的代码。
如果问题出在界面或程序上,就在它的开头下一个断点,一步步看程序是怎么执行的,找到卡住的地方。
您还可以使用 Sandra Rossi 建议的不同方法,并在程序卡住时启动调试器。请记住,这只会在它实际上是一个无限循环时对您有所帮助(它无助于查找错误的选择、错误的配置等)。
为此,请在 1 个会话中启动您的程序,当它卡住时,在另一个会话中打开 SM66 事务。在列表(SM66)中找到您的程序,选择它(通过单击最左侧的列)并选择 Administration -> Program -> Debugging 来自菜单。应该打开一个调试器,并且程序的“当前步骤”应该在你的无限循环中的某个地方(如果有的话)。
由于您没有提供任何代码或任何数据,我假设您可以在找到问题后自行解决问题。
如果这些都不是,请用一些细节更新你的答案,也许你会得到更具体的答案。