Flex動態建立類物件

2021-08-25 08:01:10 字數 2208 閱讀 9823

自actionscript 3開始,eval函式就被取消了,這樣就不能像原來那樣利用字串動態的建立物件了,但利用函式flash.utils.getdefinitionbyname仍可以根據型別名稱動態地建立類物件例項,下面看乙個例子:

輸出結果:

dynamicobject is created!

dynamicobject is created!

其實這樣的輸出結果,沒什麼意外的。接下來將「new dynamicobject();」注釋掉繼續執行,以下是輸出解決:

referenceerror: error #1065: variable dynamicobject is not defined.

at global/flash.utils::getdefinitionbyname()

at flash.events::eventdispatcher/dispatcheventfunction()

at flash.events::eventdispatcher/dispatchevent()

at mx.core::uicomponent/dispatchevent()

at mx.managers::systemmanager/preloader_preloaderdonehandler()[c:/autobuild/3.5.0/frameworks/projects/framework/src/mx/managers/systemmanager.as:3140]

at flash.events::eventdispatcher/dispatcheventfunction()

at flash.events::eventdispatcher/dispatchevent()

at mx.preloaders::preloader/displayclasscompletehandler()[c:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/preloader.as:435]

at flash.events::eventdispatcher/dispatcheventfunction()

at flash.events::eventdispatcher/dispatchevent()

at mx.preloaders::downloadprogressbar/timerhandler()[c:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/downloadprogressbar.as:1451]

at mx.preloaders::downloadprogressbar/initcompletehandler()[c:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/downloadprogressbar.as:1503]

at flash.events::eventdispatcher/dispatcheventfunction()

at flash.events::eventdispatcher/dispatchevent()

at flash.events::eventdispatcher/dispatcheventfunction()

at flash.events::eventdispatcher/dispatchevent()

at mx.core::uicomponent/dispatchevent()

at mx.core::uicomponent/set initialized()

at mx.managers::layoutmanager/dophasedinstantiation()

at mx.core::uicomponent/calllaterdispatcher2()

at mx.core::uicomponent/calllaterdispatcher()

之所以會出錯,是因為在flex編譯程式時會自行刪除一些未使用的,這時在動態建立物件時就會因缺失物件的型別而建立失敗。之前的**之所以執行成功,是因為型別dynamicobject在**中顯示地被使用,所以型別資訊dynamicobject在編譯時不會被刪除。

其實還有一種方法來保證型別資訊的存在,就是利用編譯引數,也可以保證程式正常執行:

-includes=info.knightrcom.puppet.pushdownwingamepinocchio

Flex動態建立類物件

flex動態建立類物件 2010年08月07日 之所以會出錯,是因為在flex編譯程式時會自行刪除一些未使用的,這時在動態建立物件時就會因缺失物件的型別而建立失敗。之前的 之所以執行成功,是因為型別dynamicobject在 中顯示地被使用,所以型別資訊dynamicobject在編譯時不會被刪除...

Flex動態建立類物件

flex動態建立類物件 2010年08月07日 之所以會出錯,是因為在flex編譯程式時會自行刪除一些未使用的,這時在動態建立物件時就會因缺失物件的型別而建立失敗。之前的 之所以執行成功,是因為型別dynamicobject在 中顯示地被使用,所以型別資訊dynamicobject在編譯時不會被刪除...

利用map動態建立C 類物件

mfc的cruntimeclass利用鍊錶實現了c 類的動態建立。但是如果專案中對動態建立的要求比較低,我們完全可以利用map實現簡單的動態建立。以下三個檔案做了乙個簡單的實現。author yejingx date 2011 12 29 file base.h ifndef base h defi...