自actionscript 3開始,eval函式就被取消了,這樣就不能像原來那樣利用字串動態的建立物件了,但利用函式flash.utils.getdefinitionbyname仍可以根據型別名稱動態地建立類物件例項,下面看乙個例子:
輸出結果:
dynamicobject is created!其實這樣的輸出結果,沒什麼意外的。接下來將「new dynamicobject();」注釋掉繼續執行,以下是輸出解決:dynamicobject is created!
referenceerror: error #1065: variable dynamicobject is not defined.之所以會出錯,是因為在flex編譯程式時會自行刪除一些未使用的,這時在動態建立物件時就會因缺失物件的型別而建立失敗。之前的**之所以執行成功,是因為型別dynamicobject在**中顯示地被使用,所以型別資訊dynamicobject在編譯時不會被刪除。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()
其實還有一種方法來保證型別資訊的存在,就是利用編譯引數,也可以保證程式正常執行:
-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...