2014-11-05 2 views
0

이 항목을 처음 접했습니다. 몇 가지 기본 사항이 누락되면 죄송합니다.문제 해결 코드 (Adobe Premiere CC Extension)

Adobe Extension Builder 2.1을 사용하여 Flash Builder 4.6에서 Adobe Premiere CC 확장을 만들고 싶습니다. 응용 프로그램 로직을 디자인에서 멀리 유지하고 싶습니다.

나는 Flex: How to keep code away from MXML을 읽었으며 코드 비하인드 패턴 작동 방식을 알고 있지만 확장 기능을 만드는 동안 이것을 수행하는 방법을 모르겠습니다.

내가 새로운 어도비 응용 프로그램 확장 프로젝트

project1Premiere.as

package 
{ 
import com.adobe.csawlib.premiere.Premiere; 
import com.adobe.csxs.types.Extension; 
import com.adobe.premiere.*; 
import spark.components.TextInput; 

//re-declaring txt declared in project1.mxml 
public var txt:spark.components.TextInput; 

//Use CSExtension rather than WindowedApplication, as the base application 
//class for extensions. 
//This class previously was project1Premiere 
public class CSExtension extends Extension 
{ 
    public static function run():void 
    { 
     var app:App = Premiere.app; 
     //your Premiere code here 
     txt.text = "testing..."; 
    } 
} 
} 

project1.mxml

<?xml version="1.0" encoding="utf-8"?> 
<csxs:CSExtension xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:csxs="com.adobe.csxs.core.*" applicationComplete="appComplete()"> 
<fx:Script> 
    <![CDATA[ 

     import com.adobe.csxs.core.CSInterface; 


     [Bindable] 
     private var hostName:String = HostObject.mainExtension; 


     public function appComplete():void{ 
      CSInterface.instance.autoThemeColorChange = true; 
     } 

    ]]> 
</fx:Script> 

<s:VGroup height="100%" width="100%" verticalAlign="middle" horizontalAlign="center"> 
    <s:Button label="Run PR code" click="project1Premiere.run()" enabled="{hostName.indexOf('premiere') > -1}"/> 
    <s:TextInput id="txt"/> 
</s:VGroup> 

을 시작하고 이 오류를 발견했습니다 :

소스 경로에서 발견 된 파일은 둘 이상의 외부에서 정의 된 정의를 가질 수 없습니다. CSExtension project1Premiere.as/project1/src

.as를 참조하려면 .mxml 파일의 루트에 일부 특성이 누락 되었습니까?

미리 감사드립니다.

Filip.

답변

0

나는 완전히 내 리그에서이 문제를 해결하려고 노력하고 있지만 나는 한 번 시도하고 싶다. 는

public var txt:spark.components.TextInput = new spark.components.TextInput;

변경 아무것도 public var txt:spark.components.TextInput;

을 변경합니까? new 연산자로 인스턴스화 할 필요가 없지만 동적으로 추가 된 속성을 가질 수있는 특정 공통 클래스에 대해서만 읽었습니다. TextInput이 이러한 클래스 중 하나가 아닌 경우 인스턴스를 만들지 않고 나중에 .text 속성을 설정하면 문제가 발생할 수 있습니다. 나는 그것을 완전히 이해하지 못한다. 그러나 그것은 어둠 속에서 완전한 찔림이 아니다.

+0

지금 내 논리를 project1.mxml 파일에 저장하기로 결정했습니다 ... 나중에 논리 및 디자인을 분리하려고 시도합니다 ... 감사합니다. –

관련 문제