Я пытаюсь открыть предварительный просмотр изображения, используя менеджер всплывающих окон в flex. У меня есть кнопка в одном из моих компонентов mxml, при нажатии которой мы можем просмотреть изображение на всплывающем холсте, который является другим компонентом mxml. Но я получаю следующую ошибку.
TypeError: Ошибка # 1009: Невозможно получить доступ к свойству или методу пустой ссылки на объект.
в компонентах :: CanvasPopup / init ()
Ниже приведены мои фрагменты кода:
В моем компоненте mxml AddNewPromo, где лежит кнопка:
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public var path:String="abc.jpg";
private function showPopUp(e:MouseEvent):void
{
var popUpObj:CanvasPopup = CanvasPopup(PopUpManager.createPopUp(this,CanvasPopup,true));
PopUpManager.centerPopUp(popUpObj);
}
]]>
</mx:Script>
В моем холсте mxml компонент, используемый для всплывающего окна:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="400" initialize="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
import flash.events.MouseEvent;
private function closeThis(e:MouseEvent):void
{
PopUpManager.removePopUp(this);
}
public var popObj:AddNewPromo = new AddNewPromo();
[Bindable]
public var imagePath:String;
private function init():void{
imagePath= popObj.path.toString();
var btn:Button = new Button();
btn.move(this.width-5,2);
btn.label="Close";
btn.addEventListener(MouseEvent.CLICK,closeThis);
addChild(btn);
}
]]>
</mx:Script>
<mx:Image source="{imagePath}" horizontalCenter="0" verticalCenter="0"/>
</mx:Canvas>
Пожалуйста, помогите мне.