我想使用vkontakte的新包装器功能,通过在SWF包装器下运行来增强您的应用程序功能。
这是使用此机制的sample application。它使用纯动作脚本来显示它的内容,而不是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文件启动应用程序?
答案 0 :(得分:1)
您是否正在尝试创建纯 actionscript项目或Flex应用程序项目(以前不使用Flex Framework,后者会这样做)?您至少需要一个应用程序mxml文件才能使用Flex框架。如果在Flex中创建“Actionscript项目”,则主应用程序文件(.as)将是您的“文档类”或包装器。以下是使用Actionscript Application包装器的相关文章:
Possible to use Flex Framework/Components without using MXML?
你会在这里看到,你仍然需要使用一些mxml来“初始化”actionscript类。
答案 1 :(得分:0)
Vkontakte的包装现在支持Flex,这使得这个问题已经过时了。