2011-10-28 4 views
0

내 flex 4.5 응용 프로그램에서 flashvars를로드하려고 시도 할 때 this adobe flashvars example을 따르고 있습니다. 그러나 코드가 작동하지 않습니다. 나는 내가 잘못하고있는 것을 실제로 이해하지 못한다. 여기Adobe Flash Builder에서 Flex 4.5 응용 프로그램으로 Flashvars가로드되지 않습니다.

 function embedPlayer() { 
      var flashvars = {}; 
      flashvars.userLoggedIn = true; 
      flashvars.test = "hello"; 
      embedSWF(SWF_FILE, SWF_ID, SWF_WIDTH, SWF_HEIGHT, "9.0", "playerProductInstall.swf", flashvars); 
     } 

그리고 내 플렉스 응용 프로그램에서 간단하게 코드 :

<?xml version="1.0" encoding="utf-8"?> 
<s:Application 
    xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    xmlns:c="components.*" 
    initialize="mainInit()" 
    creationComplete="doCreationComplete()" 
    applicationComplete="_initializer.applicationComplete()" 
    xmlns:application="components.application.*" 
    xmlns:gui="com.gui.*" xmlns:main="com.gui.components.main.*" xmlns:photoTray="com.gui.components.main.photoTray.*"> 

    <fx:Style source="/assets/all.css" /> 

    <fx:Script> 
     <![CDATA[ 
      import com.gui.components.main.Initializer; 
      import com.gui.components.main.LayoutsController; 
      import mx.core.FlexGlobals;   

      private var _initializer:Initializer; 
      private var _layoutsController:LayoutsController; 
      public var userLoggedIn:Boolean;                 

      private function mainInit():void { 
       _initializer = new Initializer(this); 
      } 

      private function doCreationComplete():void { 
       _initializer.init(); 
       var params:Object = FlexGlobals.topLevelApplication.parameters; 
       //userLoggedIn = params.userLoggedIn; 
       _layoutsController = new LayoutsController(this); 
      } 

     ]]> 
    </fx:Script> 

</s:Application> 

여기에 응용 프로그램을로드하는 데 SWFObject를 사용합니다 (HTML 템플릿 폴더에) 내 index.template.html 코드는 FlexGlobals.topLevelApplication.parameters (creationComplete 이후)를 호출하여 flexv에서 액세스하는 방법 인 flashvars에 액세스하려고합니다. Application.application.parameters 및 root.loaderInfo.parameters를 사용하여 내 연구에서 둘 다 더 이상 사용되지 않습니다.

내가 뭘 잘못하고 있는지 누가 알 수 있습니까? 내 응용 프로그램은 creationComplete에서로드하는 flashvars를 제외하고 플래시 빌더에서 잘 작동합니다.

감사

답변

0

이 내가 플렉스에서 그것을 어떻게 3는 어떤 플래시 VAR의 값은

//userLoggedIn = params.userLoggedIn; 

이 라인에 또한 4.5

Application.application.parameters.userLoggedIn 

플렉스에 적용하지 않도록 부울을 지정하려고하는 문자열.
이렇게하십시오.

//userLoggedIn = Boolean(params.userLoggedIn); 
+0

Application.application.parameters는 더 이상 지원되지 않으며 flex 4+에서는 더 이상 제공되지 않습니다. 나는 부울 매개 변수에 대한 변화를 기록 할 것이다. 감사. – Zyren

관련 문제