Показать сообщение отдельно
Старый 07.04.2011, 21:37
Georgy вне форума Посмотреть профиль Отправить личное сообщение для Georgy Найти все сообщения от Georgy
  № 1  
Ответить с цитированием
Georgy

Регистрация: Apr 2011
Сообщений: 1
Question Ошибочный вывод Alert окна, если приложение подгружено SWFLoader

Упрощенная схема такова:

Есть вот такое корневое предложение, задача которого только подгрузить другое предложение.

Main.mxml
Код:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationPolicy="all">
			   
    <mx:SWFLoader id="subApp1" trustContent="true" source="../subapp/Subapp.swf"/>
	
</s:Application>
Соотвественно во втором приложение также только вызов Alert.show по нажатию на конпку

Subapp.mxml
Код:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               pageTitle="Subapplication" 
               xmlns:ns1="*" width="600" height="1000"
               creationPolicy="all">
    <s:Button id="btnAlert" label="Alert" click="Alert.show('test mess', 'Title')"/>
</s:Application>
В результате получаем Alert-окно, смещенное вверх окна браузера (скриншот: http://*************/clip/m75928/1302...-clip-10kb.png). Вместа обычного окошка, которое нормально отображается если дочернее приложение вызвать напрямую (скриншот: http://*************/clip/m75928/1302192880-clip-9kb.png)
Проблему можно решить если в дочернем приложении для Alert указать родительский объект - само приложение
Код:
<s:Button id="btnAlert" label="Alert" click="Alert.show('test mess', 'Title', Alert.OK, this)"/>
Но это крайнее решение, т.к реальное дочернее приложение очень огромное и не хотелось бы заниматься рефакторингом.

Кто нибудь сталкивался с такой проблемой?
Как ее теоретически возможно решить?

Заранее благодарю за помощь!