2012-03-07 7 views
0

FlexとExtendscriptを使用してPhotoshopでパネルを開発しています。私はこれを動作させるのにはかなり近いですが、私のFlexのスキルでは、私はjsxファイルから取り込んでいるArrayで少し問題があります。配列はアラートボックスに正しく表示されますが、分割と新しいコレクションの作成の間のどこかが間違っています。これに関する助けをありがとう。私はlabNames()はただの警告で文字列を表示し、返却しないため、CSXSInterfaceに精通していないですが、ここでjavascriptのデータを使用して、comboboxにarrayCollectionを埋め込みます。

は私のFlex

protected function loadData():void { 
    var grabFolderNames:SyncRequestResult = CSXSInterface.instance.evalScript("labNames"); 
    var list:String = grabFolderNames.data; 
    var array:Array = list.split(","); 
    var arrayCollection:ArrayCollection = new ArrayCollection(); 
    arrayCollection.source = array; 
    labFolderList.dataProvider = arrayCollection; 
} 

であり、ここでJSX

function labNames() { 
    var labs = ["Red", "Green", "Blue", "Purple", "Yellow"]; 
    alert("This function is firing" + labs); 
} 

答えて

0

1)あなたは、配列を返すように()メソッドあなたのlabNamesを変更する必要があります:あなたのフレックスオブジェクトに対してあなたがallowScriptAccess="always"(またはallowScriptAccess="sameDomain"を持つHTMLラッパーに確認してください

function labNames() { 
    var labs = ["Red", "Green", "Blue", "Purple", "Yellow"]; 
    return labs; 
} 

2))はJavaScriptを有効にするために、/Flex通信。それはまだ動作しない場合は、によって

var grabFolderNames:SyncRequestResult = CSXSInterface.instance.evalScript("labNames"); 

置き換える

3):

var obj:* = CSXSInterface.instance.evalScript("labNames"); 

は、その行にブレークポイントを入れて、「OBJ」いくつかのデータによって移入されたかどうかを確認し、ここに結果を報告してください。

希望に役立ちます。

+0

ありがとうございます。すべてのArrayCollectionをオブジェクトとして扱う必要があります。ありがとう – Bungdaddy

0

ですそれは文字列としてgrabFolderNames.dataに含まれることを期待するものが含まれていない可能性があります。なぜあなたはデバッガでその値をチェックしないのですか?

関連する問題