не удалось разрешить(или же) к реализации компонента - PullRequest
0 голосов
/ 13 мая 2011

Я пытаюсь скомпилировать файл в SWF с помощью mxmlc в командной строке. Когда это очень простой mxml, компиляция проходит успешно. Но когда файл попадает в пространство имен fx, я получаю ошибку компиляции, такую ​​как: не удалось разрешить (или) реализацию компонента.

Я должен быть в состоянии сделать это без помощи Flash Builder, потому что я работаю над проектом, в котором мне нужно будет генерировать SWF-файлы из mxml-файлов, из которых мы генерируем код.

Есть предложения?

Код, который я пытаюсь скомпилировать:

<?xml version="1.0" encoding="utf-8"?>
<s:Application 
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" 
minWidth="800" minHeight="600" width="800" height="600"
currentState="s1"
backgroundColor.s1="16777215" backgroundColor.s2="16777215" backgroundColor.s3="16777215" 
creationComplete="application1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function btnNext_clickHandler(event:MouseEvent):void{currentState= states[++stateIndex].name;}
protected function btnPrev_clickHandler(event:MouseEvent):void{currentState= states[--stateIndex].name;}
protected function application1_creationCompleteHandler(event:FlexEvent):void{stateIndex=0;}
    ]]>
</fx:Script>
<s:states>
<s:State name="s1"/>
<s:State name="s2"/>
<s:State name="s3"/>
</s:states>
<fx:Declarations>
<fx:int id="stateIndex"/>
</fx:Declarations>
<s:controlBarContent>
<s:Label text="e-cognitio" id="lblEcognitio" fontSize="10" color="#3C3C3C" fontWeight="bold" fontStyle="italic" paddingTop="4"/>
<s:Button label="&lt;" height="14" width="27" id="btnPrev" enabled="true" fontSize="10" fontWeight="bold" cornerRadius="5" click="btnPrev_clickHandler(event)" enabled.s1="false"/>
<s:Button label="&gt;" id="btnNext" enabled="true" fontSize="10" fontWeight="bold" width="27" height="14" cornerRadius="5" click="btnNext_clickHandler(event)" enabled.s3="false"/>
<s:Label text="blah" id="lblLessonName" fontFamily="Georgia" fontSize="10" paddingTop="3" width="615" textAlign="center"/>
<s:Button label="X" id="btnExit" fontSize="10" chromeColor="#A11C1C" color="#FFFFFF" fontWeight="bold" width="28" height="14"/>
</s:controlBarContent>
<s:Label id= "tmpLbl" text= "A" backgroundColor= "16777215" color= "0" fontSize= "144" x= "144" y= "52" width= "111" height= "135" fontFamily= "Arial" fontWeight= "normal" fontStyle= "normal" textDecoration= "none" includeIn= "s1"/>
<s:RichEditableText id= "tmpRch" x= "192" y= "216" width= "317" height= "171" editable="false" text= "erjhjhfglkjedbfgkljehfkgjnedfkgjheg
google"
includeIn= "s1">
<s:TextFlow  xmlns="http://ns.adobe.com/textLayout/2008">
  <s:p color="#000000" fontFamily="Arial" fontSize="12" kerning="auto" leadingModel="approximateTextField" lineHeight="2" textAlign="left" trackingRight="0">
    <s:span>erjhjhfglkjedbfgkljehfkgjnedfkgjheg</s:span>
  </s:p>
  <s:p color="#000000" fontFamily="Arial" fontSize="12" kerning="auto" leadingModel="approximateTextField" lineHeight="2" textAlign="left" trackingRight="0">
    <s:a href="http://www.google.com" target="_blank">
      <s:span>google</s:span>
    </s:a>
  </s:p>
</s:TextFlow>
</s:RichEditableText>
<mx:Image id= "tmpImg" x= "122.2" y= "143.35" width= "468" height= "175.6" source= "http://www.google.com.tr/logos/classicplus.png" 
includeIn= "s2"/>
</s:Application>

Ответы [ 2 ]

4 голосов
/ 16 мая 2011

Наконец-то я нашел решение.

Прежде всего, насколько я понимаю, проблема специфична для некоторых локалей.Проблема определена здесь

Кажется, эта проблема очень распространена в турецких локалях (на компьютерах, где операционная система турецкая)

Вот как я решил эту проблему: форсированиевиртуальная машина Java, которую mxmlc использует для использования английского языка.Я нашел jvm.config JVM, который использует мой SDK, и добавил строки -Duser.language=en -Duser.location=us.Теперь это работает!

Надеюсь, это решение подойдет всем, у кого такая же проблема.

С уважением

1 голос
/ 13 мая 2011

Попробуйте выполнить следующее:

mxmlc -version

, вызвав mxmlc так же, как вы компилируете из командной строки.Какой номер версии находится на выходе?Должно быть не менее 4.0.

...