2010-06-23 2 views
1

Я пытаюсь расширить класс TextItem в Flex 4, но я получаю следующее сообщение об ошибке:Расширение TextItem класса в Flex 4

Could not resolve <custom:txtIdNumber> to a component implementation.

Мой txtIdNumber.as выглядит следующим образом

package custom { 

    import spark.components.TextInput; 

    public class txtIdNumber extends TextInput { 

     public function txtIdNumber() 
     { 
      super(); 
     } 

     override protected function width():void 
     { 
      super.width(); 

      this.width = 100; 
     } 
    } 
} 

и модуль, который я хочу использовать, выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Module 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:custom="../custom.*" 
      layout="absolute" width="100%" height="100%"> 

    <s:BorderContainer width="100%" height="100%" > 
     <custom:txtIdNumber /> 
    </s:BorderContainer> 
</mx:Module> 

Первоначально я думал, что я могу расширить класс не по-другому, но все примеры, которые я нашел, выглядят одинаково.

ответ

1

Не зная структуры вашего исходного дерева, я подозреваю, что компилятор не может проанализировать пространство имен, которое вы установили для пользовательских. Попробуйте без «../», и если это еще не сработает, опубликуйте более подробную информацию о вашей исходной древовидной структуре, в частности, где находится ваш пользовательский компонент и где код модуля живет относительно пакета «src» верхнего уровня , Ваше пространство имен должно быть относительно «src».

+0

Я сравнил новую структуру дерева проектов с предыдущей структурой древовидной структуры проекта и обнаружил, что это проблема. Мы изменили новую структуру, чтобы быть совместимой с maven, и не учитывали это. Спасибо за то, что ты в правильном направлении. –