Как запустить приложение из простого файла AS? - PullRequest
2 голосов
/ 27 октября 2009

Я хочу использовать новую функцию-упаковщик вконтакте, которая расширяет возможности вашего приложения благодаря работе в оболочке SWF.

Это пример приложения , в котором используется этот механизм. Он использует чистый сценарий действия для отображения своего содержимого, а не mx:Application.

Использование оболочки на моем mx:Application не удалось из-за следующей ошибки:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
 at mx.managers::FocusManager/activate()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\FocusManager.as:702]
 at mx.managers::SystemManager/activateForm()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:2493]
 at mx.managers::SystemManager/activate()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:2451]
 at mx.core::Application/initManagers()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\Application.as:1152]
 at mx.core::Application/initialize()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\core\Application.as:834]
 at DummyApp/initialize()[C:\Users\Eran.HOME\Documents\Web Projects\MaxiMarketing\TestMarketing\src\DummyApp.mxml:0]
 at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::childAdded()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:2127]
 at mx.managers::SystemManager/initializeTopLevelWindow()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:3396]
 at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:3219]
 at mx.managers::SystemManager/docFrameListener()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\managers\SystemManager.as:3065]

Итак, я думаю, что мог бы создать оболочку для оболочки, которая может запускать мое приложение, и придумал следующее (DummyApp - это приложение, которое я хочу на обед):

package 
{
 import Components.SidePanel;

 import flash.display.Sprite;
 import flash.events.Event;

   public class AppWrapper extends Sprite 
   {    
     public function AppWrapper() {
      this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
     }

     public function onAddedToStage(e: Event): void {
      var mainApp:DummyApp = new DummyApp();

      this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); 
     }
   }
}

К сожалению - это также не удалось, и остается вопрос, как запустить приложение из простого файла AS?

Ответы [ 2 ]

1 голос
/ 27 октября 2009

Вы пытаетесь создать проект pure actionscript или проект приложения Flex (первый не использует Flex Framework, а второй -)? Вам понадобится хотя бы файл mxml приложения, чтобы использовать среду Flex. Если вы создаете «проект Actionscript» во Flex, основным файлом приложения (.as) будет ваш «класс документа» или оболочка. Вот связанный пост об использовании оболочки приложения ActionScript:

Можно ли использовать Flex Framework / Components без использования MXML?

Здесь вы увидите, что вам все еще нужно использовать немного mxml для «инициализации» класса actionscript.

0 голосов
/ 28 ноября 2009

Оболочка Вконтакте теперь поддерживает Flex, что делает этот вопрос устаревшим.

...