Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TTextLayout c отрицат. значениями - в Obj.Insp ? 
:(
    Опции темы
dimonsky
Дата 24.6.2014, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Здравствуйте!!

Я создал свой компонент, наследник 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 не пересекутся с ними.

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

Добавлено через 13 минут и 49 секунд
Создал тестовое свойство,

Если его тип объявлен как
TFtTest = (tt3=0, tt4=1, tt5=2, tt1=-1, tt2=-2);
или даже TFtTest = (tt1, tt2, tt3=0, tt4=1, tt5=2);
то свойство не отображается в инспекторе объектов... 

Это сообщение отредактировал(а) dimonsky - 24.6.2014, 10:58
PM MAIL   Вверх
dimonsky
Дата 24.6.2014, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



не работает даже если сделать вот так 
TFtTest = (tt3=0, tt4=1, tt5=2. tt1=10, tt2=11);
PM MAIL   Вверх
dimonsky
Дата 24.6.2014, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Вот, если кому интересно. Получил ответ в другом форуме:
"Перечислимые типы с явно заданными значениями не в полной мере поддерживаются компилятором. В частности - для таких типов не генерируется RTTI-информация, что как раз мешает инспектору объектов

http://docwiki.embarcadero.com/RADStudio/XE4/en/Simple_Types
Enumerated Types with Explicitly Assigned Ordinality"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.