2009-07-28 90 views
0

在我的flex應用程序中有幾個自定義組件。我想在運行時創建這些組件的實例,並通過讀取配置文件來爲它們分配屬性。 我知道如何讀取xml和實例化組件,但是我的問題是關於如何從012xx中獲取xml屬性的組件類型,然後創建該類型的實例。 我的XML看起來是這樣的: 通過傳入類型創建flex自定義組件實例

+0

您是不是要回來,並張貼XML? – ryanday 2009-07-28 21:08:44

+0

使用xml來配置您的組件可能是一個糟糕的主意,並且從您習慣的某種其他語言延緩。嘗試以另一種方式做同樣的事情。 – 2009-07-28 22:55:55

回答

2

您可以通過ActionScript的 「反射API」 實例化一個任意命名的類型:

var clazz:Class = Class(getDefinitionByName("class.from.your.xml.file.Name")); 
var component:Object = new clazz(); 

http://livedocs.adobe.com/flex/3/langref/flash/utils/package.html#getDefinitionByName()

如果獲得有關類型的錯誤不存在,這是因爲它沒有從應用程序中的其他位置鏈接,並且編譯器僅添加了引用的類。一個或多個類

includes class [...] 

鏈接到最終的應用程序的SWF文件,無論是否這些類是在編譯時需要:您可以解決這個使用下面的ARG編譯。

http://livedocs.adobe.com/flex/3/html/compilers_14.html#157203

相關問題