我正在ActionScript 3中写一个Photoshop插件。
我对app.activeDocument有一个非常混乱和令人沮丧的问题。我的代码在Photoshop for Windows上运行得很好,但在Mac上,我得到了"General的错误。此功能可能在Photoshop的这个版本中不可用“。错误。
为了找到问题的根源,我编写了一个类来获取文档引用,并从一个测试面板调用它。班里的电话打得很好。然后,我在我的主面板项目中包含了相同的类,它就会中断。
这是我的班:-
package DocRefGetter
{
import com.adobe.csawlib.photoshop.Photoshop;
import com.adobe.photoshop.*;
public class DocRefPhotoshop
{
public static function getDocRef():Document
{
var app:Application = Photoshop.app;
var thisDoc:Document = app.activeDocument;
//var thisDoc:Document = app.documents.index(0); //Tried this method too
return thisDoc;
}
}
}为了在这里发表文章,我稍微简化了一些事情,即删除了诸如"try,catch“语句之类的内容,但本质上这是在我的面板上下文中不起作用的代码。我还尝试了对JSX代码的等效调用,结果完全相同,在Windows上很好地工作,在Mac上的测试面板中工作,在Mac上的主要项目中不能工作。
就像我说过的,在测试中,这是完美的。下面是测试mxml代码:-
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" historyManagementEnabled="false">
<mx:Script>
<![CDATA[
import DocRefGetter.DocRefPhotoshop;
import com.adobe.photoshop.Document;
[Bindable]
private var hostName:String = HostObject.mainExtension;
protected function button1_clickHandler(event:MouseEvent):void
{
var thisDocRef:Document = DocRefPhotoshop.getDocRef();
testLabel.text = String(thisDocRef);
}
]]>
</mx:Script>
<mx:VBox height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
<mx:Button label="Run PS code" click="button1_clickHandler(event)" />
<mx:Label id="testLabel" width="182" text="Label"/>
</mx:VBox>
</mx:Application>我不能发布它不工作的主要应用程序,因为它非常庞大和复杂,所以我想问的是,是否有人遇到过这样的情况,在某种程度上与这种类型的文档引用发生了冲突?我已经尝试解决这个问题一个多星期了。我尝试过许多不同的解决方案,但都没有奏效。只是不想看到打开的文档。
任何建议都是受欢迎的,但我最希望的是,有人曾经遇到过这种确切的情况,并有一个确切的解决办法。
非常感谢你花了这么多时间来看这个。
发布于 2013-09-19 16:21:39
所以,我要问的是,是否有人遇到过这样的情况:某种东西与这种类型的文档引用发生了冲突?
使用下列检查之一:
null参考资料
https://stackoverflow.com/questions/14895718
复制相似问题