2016-04-07 38 views
0

我有兩個包多個包,變量的初始化問題「強制失敗」

import ph.package1.*; 
import ph.package2.*; 

爲什麼我用不同的套餐主要的原因是因爲我想的意見對我的FB4.6移動應用分離創建具體的視圖以迎合不同的手機和平板電腦的分辨率。

所以基本上,兩者有相同的文件,文件名,但它們只在佈局和樣式上有所不同。我只使用一個軟件包中的一個AS文件來防止冗餘,到目前爲止它工作正常。應用程序正在處理大多數頁面。

現在的問題是這樣的,我的動作腳本之一,我有這樣的代碼:

var counter:Counter = this["counter"]; 

假設

  • 目前的觀點是從包1
  • AS文件是從Package2中調用
  • 兩個軟件包都包含Counter.mxml

TypeError: Error #1034: Type Coercion failed: cannot convert ph.package1.Counter to ph.package2.Counter....

我該如何解決這一點,以便變量的初始化將指向其他包。

回答

1

您需要使用整個命名空間:

var counter:ph.package1.Counter = this["counter"]; 

但無論如何,而包旨在避免這些衝突它仍然是一個好主意,讓不同的類名稱。想象一下,如果你有20個完全相同的名字,將是一場噩夢。

+0

不錯,不知道我能做那個。至於在不同軟件包上的同名問題,正在考慮創建一個函數來設置軟件包......不知道該怎麼做。 –

+0

順便說一句,當我使用整個命名空間實例化變量時,我仍然得到了同樣的錯誤'錯誤#1034:類型強制失敗'。 –

+1

然後使用其他包名稱空間,無論如何它是一個或另一個。 – BotMaster