Конференция "Компоненты" » свойство с отрицат. значениями - отсутствует в Obj.Insp
 
  • Дмитрий (24.06.14 12:16) [0]
    Здравствуйте!!

    Я создал свой компонент, наследник TLabel.
    В нем переопределил свойство Layout следующим образом.

    TFtBaseLabel=class(TCustomLabel)
    private
           FLayout:TFtTextLayout;
           procedure SetLayout(const Value: TFtTextLayout);
    public
           property Layout: TFtTextLayout read FLayout write SetLayout default fttlLeft ;
    end;
    TFtLabel=class(TFtBaseLabel)
    published
           ...
           property Layout;
           ....
    end;

    Если объявить тип TFtTextLayout одним из двух способов ниже, то свойство Layout либо видно в инспекторе объектов (и сохраняется в DFM) либо нет.

    Вариант 1 - в инспекторе объектов не видно!!!

    TFtTextLayout = (tlTop=0, tlCenter=1, tlBottom=2, fttlLeft=-2, fttlRight=-1);

    Вариант 2 - все нормально, свойство видно в ИО.

    TFtTextLayout = (tlTop=0, tlCenter=1, tlBottom=2, fttlLeft, fttlRight);

    Заказчик требует первый вариант, мотивируя тем что стандартное VCL свойство рано или поздно будет дополнено и тогда наши добавленные опции fttlLeft fttlRight не пересекутся с ними.

    Но получается что инспектор объектов по каким-то причинам не переваривает отрицательные значения в подобных типах данных??
    Так ли это и как решить проблему?

    Создал тестовое свойство,

    Если его тип объявлен как
    TFtTest = (tt3=0, tt4=1, tt5=2, tt1=-1, tt2=-2);
    или даже TFtTest = (tt1, tt2, tt3=0, tt4=1, tt5=2);
    то свойство не отображается в инспекторе объектов...
  • Дмитрий (24.06.14 12:28) [1]
    не работает даже если сделать вот так
    TFtTest = (tt3=0, tt4=1, tt5=2. tt1=10, tt2=11);
  • MBo © (24.06.14 20:12) [2]
    Перечислимые типы с явно заданными значениями не в полной мере поддерживаются компилятором. В частности - для таких типов не генерируется RTTI-информация, что как раз мешает инспектору объектов

    http://docwiki.embarcadero.com/RADStudio/XE4/en/Simple_Types
    Enumerated Types with Explicitly Assigned Ordinality
  • Дмитрий (24.06.14 22:56) [3]
    Спасибо за ссылку!!!
  • DimaBr © (30.06.14 08:28) [4]
    Если ваше свойства не отображается в инспекторе, то напишите собственный редактор свойства
  • Дмитрий (30.06.14 13:17) [5]
    возьму на заметку! да, по идее должно заработать.
 
Конференция "Компоненты" » свойство с отрицат. значениями - отсутствует в Obj.Insp
Есть новые Нет новых   [134427   +34][b:0][p:0]