1) Желательно в одном, так как вызывающая mxml уже сама является модулем. А плодить модули модулей как то не впечатляет, хотя....
2)Не совсем понял. Вопрос в том, что если редактировать поля датагрида в отдельном окне, то отображать это окно нужно будет много раз. Данные конечно подгружаются каждый раз отдельно из базы. Просто не скажетсля ли
Код AS3:
var windows:Window = new Window();
на производительности (как указывается во многих примерах, хотя в вышеуказанном примере такого нет).
Добавлено через 15 минут
из описания рекомендаций Adobe, говорится что создавать окна можно как и addPopUp() так и createPopUp(). Разница в том что addPopUp() лучше использовать для одноразового вывода информации и код создания можно использовать в родном mxml. Пример:
Код AS3:
import mx.events.CloseEvent;
import mx.controls.Label;
import mx.events.FlexEvent;
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
// method to open the TitleWindow on creationComplete
private function openTitleWindow(evt:FlexEvent):void {
// create and configure the TitleWindow
var tw:TitleWindow = new TitleWindow();
tw.title = "Title Goes Here";
tw.showCloseButton = true;
tw.addEventListener(Event.CLOSE, closeTitleWindow);
// create and configure a Label
var label:Label = new Label();
label.text = "This is a very simple popup window";
// add the Label to the TitleWindow
tw.addChild(label);
// open the TitleWindow as a modal popup window
PopUpManager.addPopUp(tw, this, true);
}
// method to close the TitleWindow targeted by a close event
private function closeTitleWindow(evt:CloseEvent):void {
PopUpManager.removePopUp(TitleWindow(evt.target));
}
А createPopUp() лучше использовать для многоразовых вызовов с редактированием данных. И в таком случае лучше создать отдельный mxml со всеми нужными компонентами.
Пошёл копать дальше.
Добавлено через 2 часа 15 минут
Создал компонент Windows.
В программе есть открытие окна при щелчке:
Код AS3:
{
var login:Window=Window(PopUpManager.createPopUp(this, Window , true) as spark.components.TitleWindow);
}
Builder ругается:
1046: Тип не найден или не является константой времени компиляции: Window.
1120: Обращение несуществующего свойства Window.
1180: Вызов предположительно неопределенного метода Window.
Что ему не нравиться?
P.S.: Вызов идет из модуля основного приложения.