我想在Flash(AS3)已經存在於加載圖像:AS3:加載圖像動態地產生錯誤
<mx:Image id="Img"/>
有了這個代碼:
Img.load('http://www.path.com/image.jpg');
的路徑已驗證可以正常工作,但我總是收到此錯誤: TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。
我使用了文檔中的代碼,仍然收到此錯誤!
我想在Flash(AS3)已經存在於加載圖像:AS3:加載圖像動態地產生錯誤
<mx:Image id="Img"/>
有了這個代碼:
Img.load('http://www.path.com/image.jpg');
的路徑已驗證可以正常工作,但我總是收到此錯誤: TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。
我使用了文檔中的代碼,仍然收到此錯誤!
有了您的圖象在一個隱藏的孩子的回答,你不能訪問這些元素一個視角,從其他人的角度改變你的問題的本質。通過將viewstack的creationPolicy更改爲「all」,您實際上可以訪問該視圖堆棧的子項中的項目,而不會顯示它們。
當使用mx.Image標記時,嘗試使用 IMG.source =「http://path.com/image.jpg」; IMG.load();否則,您可能只需將其設置爲URLRequest; 但是,null對象引用很常見,並且可能來自您在準備好之前嘗試訪問的多個不同vars。 確保您在Flex應用程序準備就緒之前不嘗試訪問IMG。 在您的代碼中,在您定義文檔的MXML的第一行中,確保存在creationComplete =「init()」//或您的初始函數,然後在該函數內分配IMG源。這可確保作爲變量不嘗試訪問mxml中尚未準備好的任何東西/
您何時調用該函數?雖然它不是標準的做法,呼籲Image控件加載方法(設置它的源屬性是比較常見的),這樣應該就可以了:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="onInitialize()">
<mx:Script>
<![CDATA[
private function onInitialize():void
{
Img.load("http://turbonerd.com/media/images/roaming/o/20100203192528.jpg");
}
]]>
</mx:Script>
<mx:Image id="Img" />
</mx:Application>
,當你調用該方法,雖然這非常重要;如果你在該特定行上獲得空引用,那麼Image控件絕對不存在。
在嘗試訪問代碼中的控件之前,請確保至少等到容器的初始化事件觸發爲止(如上所述)。如果您在運行時動態添加控件,那麼您應該等到控件的初始化事件發生後,才能確保有對象可以使用。
好的問題是,圖像組件被放置在一個stackview上的畫布上,顯然你不能訪問這些元素,而這個畫布是不可見的! – YesMan85 2010-02-07 20:49:27
好了,問題是,圖像組件被放置在畫布這是一個stackview上,顯然雖然這畫布是無形
不錯,謝謝你不知道。 – YesMan85 2010-03-02 10:23:17