Re: [問題] Flex3如何存取mxml裡的label??

看板Flash作者 (掉進程式的深崖)時間17年前 (2009/01/23 22:58), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串4/5 (看更多)
※ 引述《cjcat2266 (CJ Cat)》之銘言: : 一個Flex程式最外層的DisplayObjectContainer叫做root : root是一個Sprite物件 : 你在Flex裡面所放的所有control物件都在root.application裡面 : 那個class之所以抓不到label的原因 : 是因為你直接寫label,程式會以為你是要找這個class的物件裡的label : 帶是這個class又沒有定義label這個property,當然會出錯 : 有一個解決方式,就是在這個class定義多宣告一個變數 : 讓他成能夠得到Flex主程式的root reference : public var r:Sprite; : 另外把change()改成這樣 : public function change():void { : Sprite(this.r.application).label.text = "some text"; : } : 然後在主程式MXML裡面需要修改label的函式裡面寫 : //假如你的class叫做MyClass : var obj:MyClass = new MyClass(); : obj.r = root; : obj.change(); : 這樣就可以了 : 以上code沒有經過測試,可能有打錯字 : 不過理論上可行 :) 首先感謝兩位大大的協助,學了很多^^~ 剛剛試了一下CJ CAT大的程式.... 但還是不行耶@@||| 原理大致上了解了,但還是報出一樣的錯誤.... 目前有在查說明文件了,不知大大是否可以在指點一下明路~^^~ 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.249.114

01/23 23:02, , 1F
是什麼錯誤啊
01/23 23:02, 1F

01/24 10:36, , 2F
好像是編譯器的問題@@?不好意思喔大大...我先試一下>"<
01/24 10:36, 2F
文章代碼(AID): #19UTiNTO (Flash)
文章代碼(AID): #19UTiNTO (Flash)