对话框 – 没有构造函数

我试图创build一个对话框,间歇性的成功。 该代码是有效的。

try { // Create an empty dialog window near the upper left of the screen var dlg = new Window("dialog", "Alert Box Builder"); dlg.frameLocation = [100,100]; dlg.show(); } catch(e) { alert(e); } 

有时候,它有效,有时我得到的错误:

 Error 22:Window does not have a constructor 

我不知道为什么。 删除Photoshop首选项和/或以pipe理员身份运行似乎不起作用(在Win7上运行CC)。

我可以不提供任何解释,除了有时Photoshop损坏首选项文件,这会导致创建用户界面元素的进一步问题。 当然,我已经在Windows上体验了这一点。 最好的办法是摆脱喜好文件。 这是一个很大的痛苦,因为它将Photoshop设置回它的默认设置。 因此,在删除首选项文件之前,先制作首选项文件的快照,如果可以将工作区保存为默认模式以外的其他项目。

首选项文件在C:\ YOURUSERNAME \ AppData \ Roaming \ Adob​​e \ Photoshop SCX中找到为Adobe Photoshop SCX Prefs.psp

其中CSX是Photoshop的版本号

  • 删除首选项文件。
  • 重新启动Photoshop(它将创建一个新的首选项文件)
  • 关闭Photoshop。
  • 将您的偏好备份复制到新创建的备份上。
  • 重新启动Photoshop。

显而易见的事情是跳过第一个阶段,只是复制喜好文件备份。 这不会强制Photoshop生成新的首选项,并且Windows构造函数错误将会持续。

我可以建议你修改你的代码

 catch(e) { //alert(e); alert("Photoshop was unable to create User Interface"); } 

这样你就会知道这是一个窗口构造错误,而不仅仅是代码中的错误。 恐怕真的没有办法。