我试图创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 \ Adobe \ Photoshop SCX中找到为Adobe Photoshop SCX Prefs.psp
其中CSX是Photoshop的版本号
显而易见的事情是跳过第一个阶段,只是复制喜好文件备份。 这不会强制Photoshop生成新的首选项,并且Windows构造函数错误将会持续。
我可以建议你修改你的代码
catch(e) { //alert(e); alert("Photoshop was unable to create User Interface"); }
这样你就会知道这是一个窗口构造错误,而不仅仅是代码中的错误。 恐怕真的没有办法。