2

我想使用 vkontakte 的新包装器功能,通过在 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 文件启动应用程序?

4

2 回答 2

1

您是在尝试制作actionscript 项目还是 flex 应用程序项目(前者不使用 Flex 框架,后者使用)?您至少需要一个应用程序 mxml 文件才能使用 Flex 框架。如果您在 Flex 中创建“Actionscript 项目”,则主应用程序文件 (.as) 将是您的“文档类”或包装器。这是有关使用 Actionscript 应用程序包装器的相关帖子:

可以在不使用 MXML 的情况下使用 Flex 框架/组件吗?

您会在这里看到,您仍然需要使用一些 mxml 来“初始化”actionscript 类。

于 2009-10-27T14:19:42.207 回答
0

Vkontakte 的包装器现在支持 Flex,这使得这个问题过时了。

于 2009-11-28T14:49:04.110 回答