2010-07-13 3 views
0

나는 Flex 특정 클래스와 Air 특정 클래스를 모두 보유한 Flex Library Project를 보유하고 있습니다.플렉스 라이브러리 프로젝트 : NativeMenu 대 ContextMenu

Air 프로젝트에서 라이브러리를 참조하면 컴파일러는 mx.containers.Panel의 contextMenu에 대해 불만을 나타내며 param은 ContextMenu 대신 NativeMenu 유형이어야한다고 말합니다. NativeMenu로 전환하면 잘 컴파일됩니다.

문제는 내가 Flex 프로젝트에서 라이브러리를 참조 할 때입니다. 이번에는 NativeMenu 유형을 알지 못한다고 불평합니다. ContextMenu로 다시 변경하려고하면 위와 같은 오류가 발생합니다. 나는 아무 소용이 구글을 검색 한

(다른 사람이 동일한 문제가 발생했음을 발견 http://forums.adobe.com/thread/598791?tstart=-1) 위의 진술을 제외하고, 워드 프로세서 너무 많이 도움이되지 않는

을 : http://livedocs.adobe.com/flex/3/langref/flash/display/InteractiveObject.html#contextMenu

I 필자가 원하는 Flex SDK와 Air SDK를 섞을 수는 없지만, 누군가가 이것을 알아 냈을 것으로 기대하고있었습니다.

감사합니다.

답변

0

같은 프로젝트를 사용하는 웹 플레이어와 데스크톱 플레이어를 실제로 타겟팅 할 수 없습니다.

가능한 한 많은 기능을 라이브러리 프로젝트에 캡슐화하는 것이 좋습니다. 그런 다음 동일한 라이브러리 프로젝트를 사용하여 단일 Flex 프로젝트와 단일 AIR 프로젝트를 만듭니다.

각 프로젝트는 다른 기능을 확장하거나 대체 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 귀하가 제안한 문제는 때로 도서관의 목적을 상실하는 것입니다. 필자의 경우, 라이브러리에는 Air only NetworkInfo 클래스를 다루는 공통 코드가 포함되어있다. NativeMenu는 불행한 부산물입니다. – gmoniey

+0

라이브러리 프로젝트의 목적은 여러 프로젝트간에 코드를 공유하는 것입니다. 나는 내 제안이 어떻게 도서관의 목적을 저지하는지 확신하지 못한다. 로지스틱 관점에서 웹 기반 Flex 어플리케이션에 사용하려는 라이브러리에는 AIR 관련 코드가 포함되어서는 안됩니다. Flash Professional에서 사용하려는 라이브러리가 Flex 특정 코드를 포함하지 않아야합니다. – JeffryHouser

+0

제 첫 설명이 완전히 명확하지 않을 수도 있습니다. 제 문제는 도서관에 Air & Flex 코드가 있다는 것입니다. AIR 프로젝트에서 라이브러리를 사용하면 모든 것이 잘됩니다. FLEX 프로젝트에서 라이브러리를 사용하면 위의 오류가 발생합니다. 불행히도 필자의 경우이 기능을 라이브러리로 옮기는 것이이 문제의 원인입니다. – gmoniey

0

정확히 동일한 문제인지 확실하지 않지만 Flex 라이브러리 프로젝트에서 AIR 라이브러리를 참조 할 수있는 문제가있어 (다소 간단한) 솔루션을 발견했습니다.

Flex Builder 프로젝트를 만들 때 Flex 라이브러리 프로젝트를 만들 때 (새로 만들기 ... Flex 라이브러리 프로젝트를 마우스 오른쪽 버튼으로 클릭) 하단에 "Adobe AIR 라이브러리 포함"확인란이 있습니다. 이 확인란을 선택해야합니다. 그렇지 않으면 AIR 라이브러리가 포함되지 않습니다.

드롭 다운에서 사용중인 SDK/AIR의 버전을 선택하면 메시지에 응용 프로그램에 필요한 AIR의 최소 버전이 나와 있어야합니다.

관련 문제