2012-11-09 2 views
1

메신저 Adobe® Flash® Builder ™ 4.6을 사용하는 경우이 문제는 이전 버전에도 있습니다. 그들이 내 주요 클래스에서 관련되지 않기 때문에 어떤 이유로 내 프로젝트에서 컴파일러가 모든 클래스를 컴파일하도록 강제하는 방법은 무엇입니까?

, 난, 객체의 생성자를 가져온 다음 class.thus 내 모듈 클래스를 무시 컴파일 할 내 모듈의 인스턴스를 생성

cls = applicationDomain.getDefinition(name) as Class; 

을 사용하고 있습니다 .how 다른 클래스도 내 swf 또는 swc 파일로 컴파일 강제로? 내 컴파일 옵션을 조정할 수있는 곳을 찾지 못했습니다.

지금까지 프로그램 항목의 맨 처음에이 문제를 해결하기 위해이 방법을 사용합니다.

if(1+1==3){ 
    //never be run but do make classes merge into swf files. 
    new MyModule(); 
} 

내가이 같은 모듈의 수백, 나는 영구적으로

답변

1

당신은 당신은 또한 당신의 컴파일러 플래그를 설정하여이 작업을 수행 할 수 있습니다이

package 
{ 
public class IncludeClasses 
{ 
    import com.abc.db.Database;Database; 
    import com.abc.logs.KBRemoteLogTarget; KBRemoteLogTarget; 
    import com.abc.logs.KBLocalLogTarget; KBLocalLogTarget; 
    import com.abc.exception.GlobalExceptionHandler; GlobalExceptionHandler; 
    import com.abc.utils.NetConnectionMonitor;NetConnectionMonitor; 
} 
} 
+0

까지 지금까지 최고의. 그리고 당신은 단순히 com.abc.db.Database를 사용할 수 있습니다, 가져올 필요가 없습니다. – Max

+1

죄송합니다. 잘못되었습니다. 추가해야합니다. 추가 할 필요가 없습니다. 마지막에. – Max

+0

우리는 마지막으로 클래스 이름을 추가해야한다고 생각합니다. 그렇지 않으면 플렉스 컴파일러는 리플렉션 API를 사용할 수 없도록 컴파일 할 때 해당 클래스를 무시합니다. –

2

당신은 그것이 SWF에 컴파일 얻을 수있는 클래스를 사용하기 위해 필요한이 문제를 해결하는 방법을 찾을 수 있기를 바랍니다 않습니다. 당신이 그것을 사용하지 않도록 개체에 대한 메모리를 할당 할 수있는 런타임의 원인이됩니다 "새로운"키워드를 사용
아니 가장 좋은 방법이지만

private var someVar:someClass; 


.


이 전체로드 모듈 및 컴파일 클래스에는 코드 냄새가 있습니다.
모듈의 클래스가 인터페이스를 구현하는 것이 더 낫습니다.

+0

내 길은 나보다 낫다. – Max

1

프로젝트에 표시하려면 클래스에 대한 엄격한 참조가 하나 이상 필요합니다. 필자는 필요한 모든 클래스를 채우기 위해 Array 유형의 정적 변수를 사용합니다. 가능한 경우 해당 배열을 참조하지 않습니다.

private static var dummy:Array=[OneClass, AnotherClass, Class01, Etc]; 
+0

이 하나조차 더 낫다. 함수에서 비 정적 로컬 변수에 더미를 설정할 수 있습니까? 시도해 보았습니다. 제게는 효과가 있습니다. 계속 작동하는지, 더 많은 테스트가 필요한지 모릅니다. – Max

+0

아마도 실제로 함수에서 작동 할 것입니다.프로젝트 내의 어느 곳에서나 수업에 연결되면 모든 곳에서 수업에 연결할 수 있습니다. – Vesper

0

으로 시도 할 수 있습니다. About the application compiler options

참조 : 포함-라이브러리 라이브러리를 [...]

은 이 포함-클래스 컴파일러 옵션에 포함되어있는 클래스의 상속 종속 클래스를 포함합니다.

기본값은 false입니다.

고급 옵션입니다. 이 사용자 정의 RSL을 작성하고 과 같은 클래스를 가능한 한 외부화하려는 경우이 컴파일러 옵션을 사용할 수 있습니다. 예 :

compc -include-classes mx.collections.ListCollectionView 
-include-inheritance-dependencies-only=true 
-source-path . -output lcv2 -directory 
관련 문제