Flex에서 내보낸 swf 런타임 Error #2148

2565 단어 errorFlex#2148
오늘 FB4에서 최근에 만든 데모를 swf 파일로 내보내서 실행합니다. 이상하게도 FB에서 아무렇게나 실행해도 문제가 없습니다. 처음에는 경로 문제가 의심스러웠지만 이후에는 절대 경로 방식으로 바뀌었지만 내보낸 후에도 정상적으로 실행할 수 없습니다.
물론 이 일련의 과정에서 얻은 것이 하나도 없는 것은 아니다.
1. FB에서 컴파일한 것은 일반적으로 bin-debug에서 디버깅하여 실행하는데 어떻게 웹 응용 프로그램에 사용할 수 있도록 내보낼 수 있습니까? FB의 도움말 설명을 참고하십시오.
  • 우선, 프로젝트 속성 - 구축 경로에서'코드에 통합'을 선택하면 인용한 swc 파일이 코드에 포함될 수 있습니다.
  • 항목을 선택하고 마우스 오른쪽 단추를 눌러서'중선택'발행 버전을 내보내고 내보낼 응용 모듈을 선택하십시오. 내보내면 프로젝트에서 bin-release 폴더가 생성됩니다
  • 이 파일을 웹 디렉터리에 복사해서 실행
  • 2. 현재 swf 파일이 실행하는 절대 경로를 어떻게 얻습니까?
          
    private function getAbsPath():void
    			{ 
    				var swfPath:String = this.parent.stage.loaderInfo.url;// swf 
    				var swfPathArray:Array = swfPath.split("/");  
    				
    				if (swfPathArray[0] == "file:") {  // 
    					if(swfPathArray.length<=3){  
    						
    						currSwfUrl = swfPathArray[2];  
    						currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf(currSwfUrl.charAt(2)));  
    					}
    					else{  
    						currSwfUrl = swfPath;  
    						currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf("/"));  
    					}  
    				}else{  // 
    					currSwfUrl = swfPath;  
    					currSwfUrl = currSwfUrl.substring(0,currSwfUrl.lastIndexOf("/"));  
    				}  
    				
    				currSwfUrl += "/";   
    			}

     
    본론으로 돌아가 구글, 테스트, 실망 끝에 갑자기 외국의 게시물을 찾았습니다. 다음은 원문입니다.
    쓰다
    Error #2148 is a very strange error that I get when I load xml files from the local machine. It’s strange because I only get it with Flex 3 and I don’t get the error all the time when I load xml files.
    [RPC Fault faultString=”Error #2148: SWF file file:///D:/_path_to_file_/Main.swf cannot access local resource assets/xml/config.xml. Only local-with-filesystem and trusted local SWF files may access local resources.” faultCode=”InvokeFailed” faultDetail=”null”
    So the quick fix is to add this arguments to the compiler:
    -use-network=false
    Go to Project -> Properties -> Flex Compiler and add -use-network=false to Additional compiler arguments
    If you got the #2148 Error in a different situation let me know and I will post you comments/solutions.
     
    뜻이 뚜렷하다. 바로 당신이 컴파일한 응용 프로그램이다. 만약에 로컬 실행 방식을 사용하고 외부의 접근을 사용할 필요가 없다면 컴파일할 때 컴파일 파라미터를 추가해야 한다.
    -use-network=false
    "Project -> Properties -> Flex Compiler and add -use-network = false to Additional compiler arguments"
    가입 후, 컴파일, 다시 내보내기, 테스트, ok, 문제 해결!
     

    좋은 웹페이지 즐겨찾기