在ExtendScript中,我遇到了一个非常奇怪的情况,在这种情况下,我需要ScriptUI专家的帮助。我有一个庞大的InDesign脚本,在执行该脚本的过程中,它会在调色板窗口中显示进度条。 (var w = new Window("palette", "Progress");
)我希望脚本完成后关闭此调色板,因此我在脚本末尾添加了w.close()
。
但是,仅当焦点仍在InDesign中时,才会发生这种情况。我们中的某些人喜欢在InDesign脚本在后台的另一个屏幕上运行时进行其他任务,这很好,但是当他们返回InDesign时,进度条面板仍在屏幕上,显示100%完成。可以移动此调色板窗口,但是即使单击角落的红色小“ x”,它也会关闭[[cannot。最终,这会导致一整天在屏幕上保留多个调色板,因为该脚本在正常工作日中会被调用数十次。
阅读Peter Kahrel的ScriptUI优秀指南,我了解到即使使用.close()
关闭了所有调色板,它们仍保留在内存中。我希望将它们从内存中完全擦除并清除,这样,如果用户在脚本运行时切换到另一个应用程序,它们就不会留在屏幕上。关于如何实现此目标的任何想法?顺便说一下,我想包含一些示例代码,以便您自己看,但是当它只是ESTK调用的一些小代码时,它似乎不起作用;仅在我的4647行生产脚本中。因此,我无法粘贴任何示例代码。
#targetengine 'my_target_engine_name'
这意味着用户仅打开一个烦人的窗口。这不是解决方案,但结合Trevor的定位技巧,可能是可以接受的技巧。