2009-10-27 4 views
2

Je souhaite utiliser la nouvelle fonction wrapper de vkontakte, qui améliore les capacités de votre application en s'exécutant sous un wrapper SWF. Il s'agit d'un sample application utilisant ce mécanisme. Il utilise un script d'action pur pour afficher son contenu plutôt qu'un mx:Application.Comment démarrer Application à partir d'un simple fichier AS?

Utilisation de l'emballage sur mon mx:Application a échoué en raison de l'erreur suivante:

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] 

Je me dis que je pourrais créer un emballage à l'emballage qui peut lancer mon application et est venu avec cette (DummyApp est l'application Je veux déjeuner):

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); 
    } 
    } 
} 

Malheureusement - il a également échoué, et la question demeure, comment démarrer l'application à partir d'un simple fichier AS?

Répondre

0

Le wrapper de Vkontakte supporte désormais Flex, ce qui rend cette question obsolète.

1

Essayez-vous de faire un pur action projet actioncript ou un projet d'application flexible (ancien ne pas utiliser le cadre Flex, ce dernier fait)? Vous auriez besoin d'au moins un fichier mxml d'application pour utiliser le framework Flex. Si vous créez un "projet Actionscript" dans Flex, le fichier d'application principal (.as) sera votre "classe de document" ou wrapper. Voici un poste lié à l'aide d'une enveloppe d'application Actionscript:

Possible to use Flex Framework/Components without using MXML?

Vous verrez ici que si vous avez encore besoin d'utiliser un peu de MXML pour « init » la classe actionscript.

+0

Le wrapper de Vkontakte (http://vkontakte.ru/swf/api_wrapper.swf) n'interagit bien qu'avec un AS pur, je vais donc devoir créer un AS de milieu de gamme pour bien le faire. Le flux d'appel doit être comme ceci: VK Wrapper (AS pur) -> My Wrapper (AS pur) -> Mon application (mx: Application). –

Questions connexes