2009-11-04 99 views
0

由於某些Flex/AS3怪異,再次拉出我的頭髮。下面的代碼不編譯由於錯誤1120 - 未定義的屬性的訪問AbstractWizardModel當在MXML中使用常量時,Flex錯誤1120(未定義屬性XXX的訪問)

<mx:HBox id="cntr_buttons" width="100%" horizontalAlign="right"> 
    <mx:Button label="{model.getButtonLabel(AbstractWizardModel.GO_BACK)}" /> 
</mx:HBox> 

的常數被定義(在AbstractWizardModel)爲:

[Bindable] 
public class AbstractWizardModel extends EventDispatcher 
{ 
    public static const GO_BACK : String = "goBack"; 
    ... 
} 

更換 'AbstractWizardModel.GO_BACK' 與「「GoBack的「'訣竅,但問題是什麼?

謝謝!

PS:當然我導入AbstractWizardModel在MXML代碼

+0

您使用Flash Builder 4測試版嗎?我注意到,由於一些尚未修復的錯誤,導入文件通常會被刪除。 – 2009-11-04 15:41:34

回答

0

哦,夥計,這是太奇怪了..

我找到怎樣的一個解決方案,感謝所有的意見,這幫助我在正確的軌道上,但還是覺得這是Flex中的一個錯誤。

首先,我必須補充說明(在我的代碼中)MXML和AbstractWizardModel類都在相同包中。

即我打電話被聲明爲

[Bindable(event="getButtonLabelChanged")] 
public function getButtonLabel (buttonId:String) : String 
{ 
    .. 
} 

如果刪除該[可綁定..]註釋的 'getButtonLabel()' 功能,代碼編譯。

如果我把它留在那裏,我不得不爲類AbstractWizardModel添加一個導入,儘管它在同一個包中。無論如何,這也解決了這個問題。

但是,當FB4每次組織導入時都會刪除該導入,以便用戶評論也有幫助。

很高興聽到您的想法!

0

的錯誤是關於類AbstractWizardModel,不是常量GO_BACK。您需要爲mxml文件中的類提供import語句:

<mx:Script> 
<![CDATA[ 
import the.package.AbstractWizardModel; 
]]> 
</mx:Script> 

之前您可以使用該類。 編輯:替換「the.package」。與任何包裝類是英寸

+0

感謝您的回答,但實際上我從一開始就擁有了該導入權。將編輯我的問題更精確。 – Tom 2009-11-04 11:51:07

+0

這確實是很奇怪的AS3行爲。錯誤消息表明該類是未知的,這通常意味着它不被導入或缺少所需的swc。你有任何其他警告或錯誤? – 2009-11-04 12:14:46